十九、SpringCloud Alibaba Nacos服务注册和配置中心(四) Nacos集群和持久化配置
1、Nacos官网集群部署
nacos.io/zh-cn/docs/cluster-mode-quick-start.html
nacos集群架构
默认Nacos使用嵌入式数据库实现数据的存储。所以如果启动多个默认配置的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MYSQL的存储
2、Nacos持久化配置解释
1)Nacos默认自带的是嵌入式数据库derby
查看nacos github上的源码,可以在pom中发现derby的依赖
2)derby到mysql切换配置步骤 (配置持久化到mysql数据库中)
①、在 E:\nacos-server-1.1.4\nacos\conf 目录下找到sql脚本
②、在mysql5.7上新建nacos_config数据库,然后执行nacos-mysql中的脚本
【注意】我此处是docker上创建的mysql5.7,具体怎么创建参考:https://www.cnblogs.com/houchen/p/15100959.html
③、在 E:\nacos-server-1.1.4\nacos\conf 目录下找到application.properties
在文件末尾追加:
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://192.168.25.129:3333/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=123456
④、重启Nacos
访问:http://localhost:8848/nacos
发现上节课配置的数据没了 =》证明切换数据源成功
新建配置
查看mysql的config-info表,发现配置确实持久化到数据库中
3、Linux版Nacos + mysql生产环境配置
1)架构
1个nginx + 3个nacos注册中心 + 1个mysql
2)下载linux版的 nacos,上传到linux,并进行解压
github.com/alibaba/nacos/releases/tag/1.1.4
3)nacos集群配置详解
①、linux服务器的数据库配置 (同上述windows,注意改linux文件前先进行备份)
②、application.properties配置 (同上述windows,注意改linux文件前先进行备份)
③、Linux服务器上nacos的集群配置cluster.conf
内容: 192.168.25.129:3333 192.168.25.129:4444 192.168.25.129:5555
④、编辑nacos的启动脚本 startup.sh,使它能够接受不同的启动端口(注意改linux文件前先进行备份)
⑤、Nginx的配置,由它作为负载均衡器
修改nginx的配置文件:
⑥、到此 1个nginx + 3 个Nacos + 1个mysql 部署完毕
通过nginx访问nacos http://192.168.111.144:1111/nacos
⑦、测试 :在nacos中添加配置,查看linux数据库中是否写入配置