/*
* Copyright 1999-2018 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info */
/******************************************/
CREATE TABLE `config_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(255) DEFAULT NULL,
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`app_name` varchar(128) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`c_desc` varchar(256) DEFAULT NULL,
`c_use` varchar(64) DEFAULT NULL,
`effect` varchar(64) DEFAULT NULL,
`type` varchar(64) DEFAULT NULL,
`c_schema` text,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_aggr */
/******************************************/
CREATE TABLE `config_info_aggr` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(255) NOT NULL COMMENT 'group_id',
`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
`content` longtext NOT NULL COMMENT '内容',
`gmt_modified` datetime NOT NULL COMMENT '修改时间',
`app_name` varchar(128) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_beta */
/******************************************/
CREATE TABLE `config_info_beta` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL COMMENT 'content',
`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_tag */
/******************************************/
CREATE TABLE `config_info_tag` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_tags_relation */
/******************************************/
CREATE TABLE `config_tags_relation` (
`id` bigint(20) NOT NULL COMMENT 'id',
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
`nid` bigint(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`nid`),
UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = group_capacity */
/******************************************/
CREATE TABLE `group_capacity` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = his_config_info */
/******************************************/
CREATE TABLE `his_config_info` (
`id` bigint(64) unsigned NOT NULL,
`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`data_id` varchar(255) NOT NULL,
`group_id` varchar(128) NOT NULL,
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL,
`md5` varchar(32) DEFAULT NULL,
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`src_user` text,
`src_ip` varchar(50) DEFAULT NULL,
`op_type` char(10) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
PRIMARY KEY (`nid`),
KEY `idx_gmt_create` (`gmt_create`),
KEY `idx_gmt_modified` (`gmt_modified`),
KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
/******************************************/
/* 数据�
nacos-server-2.0.3.zip

Nacos是阿里巴巴开源的一款分布式服务治理和配置中心的框架,主要应用于微服务架构中的服务发现、配置管理和控制台管理。其版本2.0.3带来了许多优化和改进,旨在提高系统的稳定性和性能。下面我们将详细探讨Nacos的核心功能、工作原理以及如何在项目中使用。
1. **服务发现**:
Nacos作为服务注册与发现的平台,允许服务提供者注册自身服务,同时服务消费者可以查询并发现这些服务。它支持多种协议如HTTP、Dubbo和gRPC,使得服务之间的通信更加便捷。服务提供者会周期性地向Nacos发送心跳,以保持服务状态的更新,而服务消费者则通过Nacos获取最新的服务列表。
2. **动态配置管理**:
Nacos提供了动态配置服务,允许开发者在不重启应用的情况下更新配置,实现配置的实时生效。这对于微服务环境中的快速迭代和部署非常关键。配置可以通过API或者控制台进行管理,并且支持多环境、多集群的配置隔离。
3. **健康检查**:
Nacos内建了健康检查机制,定期检测服务实例的健康状况,确保服务的高可用性。一旦检测到某个实例异常,会从服务列表中移除,防止请求转发到失效实例。
4. **命名空间**:
命名空间是Nacos的一个重要特性,它实现了配置的隔离。例如,开发、测试、生产环境可以拥有各自的命名空间,避免配置混杂导致的问题。
5. **集群部署**:
Nacos支持集群部署,可以提供高可用的服务注册与发现。在集群模式下,Nacos节点之间会通过raft一致性算法保证数据的一致性。
6. **元数据管理**:
Nacos不仅可以管理服务和配置,还可以存储与服务相关的元数据,如服务版本、分组等,这些信息在服务治理中非常有用。
7. **控制台界面**:
提供直观易用的Web控制台,方便开发者对服务、配置、元数据进行操作和监控,同时也提供了丰富的API接口供程序调用。
8. **集成Spring Cloud**:
Nacos与Spring Cloud无缝集成,可以作为Spring Cloud的服务注册与发现组件,简化了微服务的构建过程。
9. **最佳实践**:
使用Nacos时,通常需要配置数据源、启动Nacos服务器、编写服务提供者的注册代码、服务消费者的发现代码,以及设置配置订阅等步骤。
10. **安全性**:
Nacos支持基于角色的权限控制(RBAC),可以对不同用户和角色分配不同的操作权限,保障系统安全。
总结来说,Nacos是微服务架构中的重要工具,通过其服务发现、动态配置等功能,帮助开发者构建更稳定、灵活的应用系统。在2.0.3版本中,Nacos在性能和稳定性方面有了进一步提升,使其在实际项目中的应用更加广泛。为了充分利用Nacos,开发者需要熟悉其核心功能和最佳实践,以便更好地集成到自己的项目中。

S_H-A_N
- 粉丝: 225
最新资源
- 科技经费管理效率低下?如何借助AI+数智应用技术实现智能化升级?.docx
- 科技经费预算管理中,如何通过AI+数智应用工具提升管理效率?.docx
- 科技外包管理系统如何借助AI+数智应用技术实现智能化升级?.docx
- 科技项目管理平台升级,如何借助AI+数智应用做到既智能又个性化?.docx
- 科技项目管理如何借助 AI+数智应用能力提升效率与创新?.docx
- 科技项目管理系统如何借助 AI+数智应用实现智能化升级?.docx
- 科研机构管理中,如何借助AI+数智应用突破传统管理系统只管理不服务的局限?.docx
- 科研机构管理效率低下,如何利用AI+数智应用快速实现智能化升级?.docx
- 如何借助 AI+数智应用优化科技经费管理流程,提升管理效能?.docx
- 面对复杂多变的科技管理工作,有哪些AI+数智应用工具能够助力实现个性化场景创新?.docx
- 如何借助AI+数智应用技术优化科技管理工作?.docx
- 如何借助AI+数智应用快速实现科技管理系统的智能化升级,提升工作效率?.docx
- 如何借助AI+数智应用破解科技管理系统“只有管理没有服务”的难题?.docx
- 如何借助AI+数智应用强化科技管理系统协同效应,激活资源实现管理成效最大化?.docx
- 如何借助AI+数智应用提升科技管理工作的效率?.docx
- 如何借助AI+数智应用突破传统科技管理系统局限,实现智能化管理与价值创造双提升?.docx