首页 > 其他 > 详细

Nacos集群和持久化配置

时间:2020-04-15 13:52:58      阅读:74      评论:0      收藏:0      [点我收藏+]

官网:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

技术分享图片

 

 技术分享图片

 

如果每个nacos,都带有一个独立的数据库,则不方便集群模式下的数据交互

 技术分享图片

 

 官网:https://nacos.io/zh-cn/docs/deployment.html

 

 

Nacos持久化配置解释:

Nacos默认自带的是嵌入式数据库derby,

官网源码:https://github.com/alibaba/nacos/blob/develop/config/pom.xml

1:derby到mysql切换配置步骤

技术分享图片

 

 

 1.1执行脚本:

CREATE DATABASE nacos_config;
USE nacos_config;


/*   数据库全名 = 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 2010-05-05 00:00:00 COMMENT 创建时间,
  `gmt_modified` datetime NOT NULL DEFAULT 2010-05-05 00:00:00 COMMENT 修改时间,
  `src_user` text COMMENT source user,
  `src_ip` varchar(20) 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 2010-05-05 00:00:00 COMMENT 创建时间,
  `gmt_modified` datetime NOT NULL DEFAULT 2010-05-05 00:00:00 COMMENT 修改时间,
  `src_user` text COMMENT source user,
  `src_ip` varchar(20) 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 2010-05-05 00:00:00 COMMENT 创建时间,
  `gmt_modified` datetime NOT NULL DEFAULT 2010-05-05 00:00:00 COMMENT 修改时间,
  `src_user` text COMMENT source user,
  `src_ip` varchar(20) 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 2010-05-05 00:00:00 COMMENT 创建时间,
  `gmt_modified` datetime NOT NULL DEFAULT 2010-05-05 00:00:00 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 2010-05-05 00:00:00,
  `gmt_modified` datetime NOT NULL DEFAULT 2010-05-05 00:00:00,
  `src_user` text,
  `src_ip` varchar(20) 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_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键ID,
  `tenant_id` varchar(128) NOT NULL DEFAULT ‘‘ COMMENT Tenant 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 聚合子配置最大个数,
  `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 2010-05-05 00:00:00 COMMENT 创建时间,
  `gmt_modified` datetime NOT NULL DEFAULT 2010-05-05 00:00:00 COMMENT 修改时间,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=租户容量信息表;




CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT id,
  `kp` varchar(128) NOT NULL COMMENT kp,
  `tenant_id` varchar(128) default ‘‘ COMMENT tenant_id,
  `tenant_name` varchar(128) default ‘‘ COMMENT tenant_name,
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT tenant_desc,
  `create_source` varchar(32) DEFAULT NULL COMMENT create_source,
  `gmt_create` bigint(20) NOT NULL COMMENT 创建时间,
  `gmt_modified` bigint(20) NOT NULL COMMENT 修改时间,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=tenant_info;


CREATE TABLE users (
    username varchar(50) NOT NULL PRIMARY KEY,
    password varchar(500) NOT NULL,
    enabled boolean NOT NULL
);


CREATE TABLE roles (
    username varchar(50) NOT NULL,
    role varchar(50) NOT NULL
);


INSERT INTO users (username, password, enabled) VALUES (nacos, $2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu, TRUE);


INSERT INTO roles (username, role) VALUES (nacos, ROLE_ADMIN);
 

1.2:nacos-server-1.1.4\nacos\conf目录下找到application.properties

加入:

spring.datasource.platform=mysql


db.num=1
db.url.0=jdbc:mysql://1.7.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=HF_mysql_654321

 

 

 1.3:启动nacos,可以看到是个全新的空记录界面,以前是记录进derby(空配置表示已经由derby切换mysql成功)

技术分享图片

 

 加入新配置:

技术分享图片

 

 

 

 

 技术分享图片

 

 技术分享图片

 

 

 

 

Linux版Nacos+MySQL生产环境配置:

大纲步骤:

技术分享图片

 

 

 

 

技术分享图片         技术分享图片

 

 

下载:

 

 

技术分享图片

 

 

 

 问题:

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

2:application.properties配置和windos相同:

3.Linux服务器上nacos的集群配置cluster.conf

技术分享图片

 

 

这个IP不能写127.0.0.1,必须是Linux命令hostname -i能够识别的IP

技术分享图片

 

 

 

技术分享图片

 

 

 

 

 4.编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端

技术分享图片

 

 

 

修改内容:

 

技术分享图片

 

 技术分享图片

 

 5.Nginx的配置,由它作为负载均衡器

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

 

测试:

启动nacos

技术分享图片

 

启动nginx

技术分享图片

 

 

技术分享图片

 

测试----微服务cloudalibaba-provider-payment9002启动注册进nacos集群

技术分享图片

 

 技术分享图片

 

 

 技术分享图片

 

Nacos集群和持久化配置

原文:https://www.cnblogs.com/leeego-123/p/12704408.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!