Nacos集群搭建
一、集群结构
1. 结构图
二、数据库集群配置
1. 搭建数据库集群
此处暂不提供数据库集群搭建教程
2. 创建nacos数据库
1)创建名为 nacos 的数据库
create database nacos;
2)想该数据库中添加 nacos 提供的表,直接执行 nacos 提供的脚本即可 nacos-mysql.sql
三、nacos 集群搭建
1. 修改 nacos 下的 cluster.conf 文件
1)将 cluster.conf.example 文件修改为 cluster.conf
2)然后在 cluster.conf 中添加 nacos 服务的 ip 和 端口,下面 ip 和 端口只是演示,个人根据实际情况修改,如果在一台机器上启动多个 nacos 服务需要注意端口冲突问题
2. 修改 application.properties 文件
1)修改端口,此处端口与 cluster.conf 文件中服务的端口对应
server.port=8847
2)添加数据库配置(根据实际情况修改)
### If use MySQL as datasource: spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=1234
3. 启动 nacos 服务集群
将已经配置好的 nacos 服务端分别在不同服务器上启动即可,注意这些服务器的 IP 地址与 cluster.conf 文件中配置的 IP 对应。
启动方式与单机启动不同,此处不需要启动参数,在 nacos 的 bin 目录下:
startup.cmd
四、使用 Nginx 做负载均衡和反向代理
1. 修改 nginx.conf 配置
1)向 conf/nginx.conf 文件添加配置如下(只需在 http{...} 中任意位置):
# nacos 负载均衡 upstream nacos-cluster { server 127.0.0.1:8845; server 127.0.0.1:8846; server 127.0.0.1:8847; } # nacos 反向代理 server { listen 80; server_name localhost; location /nacos { proxy_pass http://nacos-cluster; } }
2. 启动 nginx
命令:
启动:start nginx.exe
停止:nginx -s quit
五、集群部署验证
1. 访问 nacos 控制台
地址:http://localhost/nacos
2. 添加配置
3. 查看数据库
看数据库表中是否存在刚刚添加的配置
六、Java服务连接 nacos 集群
因为使用了 nginx 反向代理,所以直接在 application.yml 文件中,将原本配置 nacos 的地址修改为反向代理地址即可
spring: cloud: nacos: server-addr: localhost:80 # Nacos地址
七、优化
-
实际部署时,需要给做反向代理的nginx服务器设置一个域名,这样后续如果有服务器迁移nacos的客户端也无需更改配置.
-
Nacos的各个节点应该部署到多个不同服务器,做好容灾和隔离
注:个人学习笔记,摘自黑马资料