目录
官方给出的Nacos集群图:

这里负载均衡器可以使用nginx。

因为机器性能限制,本地就启动2个nacos节点,作为测试
二个nacos节点的地址:
| 节点 | ip | port |
|---|---|---|
| nacos1 | 192.168.56.1 | 8845 |
| nacos2 | 192.168.56.1 | 8847 |
注意在搭建过程中发现如果集群的端口连续则会启动失败,则nacos集群的 端口不要连续
搭建集群的基本步骤:
Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。
官方推荐的最佳实践是使用带有主从的高可用数据库集群,主从模式的高可用数据库可以参考Mysql - 主从复制_naki_bb的博客-CSDN博客
这里我们以单个数据库为例
1.创建一个nacos数据库
2.导入sql
注意Mysql 5.7之前和之后sql有稍许差别
Mysql 5.7之前:
- 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 COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL 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 COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL 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 COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL COMMENT '修改时间',
- `src_user` text COMMENT 'source user',
- `src_ip` varchar(50) DEFAULT