Nacos集群
官网:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
集群部署架构图
-
http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
-
http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。
-
http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式
默认Nacos使用嵌入式数据库实现数据存储。所以,如果使用多个默认配置下的Nacos节点,数据存储一致性存在问题。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。
Nacos支持的三种部署模式
- 单机模式:用于测试和单机使用
- 集群模式:用户生产环境,确保高可用
- 多集群模式:用于多数据中心场景
单机模式支持mysql
- 安装数据库,5.6.5+
- 初始化mysql数据库,数据库初始化文件nacos-mysql.sql
- 修改conf/application.properties文件,增加mysql数据源配置,添加mysql数据源url、用户名和密码
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=xxxxx
集群配置
需要1个Nginx+3个nacos注册中心+1个mysql
1. 修改mysql数据库配置
2. application.properties配置
3. nacos的集群配置cluster.conf
梳理出3台nacos集群的不同服务端口号:3333,4444,5555
复制cluster.conf,并配置:
注意:IP不能写127.0.0.1,必须是Linux命令hostname -i 能够识别的IP
4. 编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口
集群启动,我们希望可以类似其他软件的shell命令,传递不同的端口号启动不同的nacos实例。
例如:./startup.sh -p 333
表示启动端口号3333的nacos服务实例。
5. 配置Nginx,由它作为负载均衡
修改nginx.conf:
启动nginx:
./nginx -c 配置文件路径
启动3个nocos:
sh startup.sh -p 3333/4444/5555
访问:localhost:1111/nacos