#### Nacos集群和持久化配置(重要)
##### 官网说明
https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
官网架构图
默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。
为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。
官网说明
https://nacos.io/zh-cn/docs/deployment.html
##### Nacos持久化配置解释
###### Nacos默认自带的是嵌入式数据库derby
https://github.com/alibaba/nacos/blob/develop/config/pom.xml
###### derby到mysql切换配置步骤
nacos-server-1.1.4\nacos\conf目录下找到application.properties
###### 启动Nacos,可以看到是个全新的空记录界面,以前是记录进derby
##### Linux版Nacos+MySQL生产环境配置
至少1个Nginx+3个nacos注册中心+1个mysql
###### Nacos下载Linux版
https://github.com/alibaba/nacos/releases/tag/1.1.4
nacos-server-1.1.4.tar.gz
解压后安装
###### 集群配置步骤(重点)
Linux服务器上mysql数据库配置
SQL脚本在哪里
、
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
Linux服务器上nacos的集群配置cluster.conf
梳理出3台nacos集器的不同服务端口号
复制出cluster.conf
这个IP不能写127.0.0.1,必须是 Linux命令hostname -i能够识别的IP
编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口
/mynacos/nacos/bin 目录下有startup.sh
平时单机版的启动,都是./startup.sh即可。
集群启动,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例。 命令:./startup.sh -p 3333 表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置的一致。
Nginx的配置,由它作为负载均衡器
修改nginx的配置文件
1个Nginx+3个nacos注册中心+1个mysql
测试通过nginx访问nacos
http://192.168.111.144:1111/nacos/#/login
新建一个配置测试
linux服务器的mysql插入一条记录
server:
port: 9002
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
#配置Nacos地址
#server-addr: localhost:8848
# 换成nginx的1111端口,做集群
server-addr: 192.168.111.144:1111
management:
endpoints:
web:
exposure:
include: '*'