Nacos部署集群
Nacos支持三种部署模式
单机模式 - 用于测试和单机试用。
集群模式 - 用于生产环境,确保高可用。
多集群模式 - 用于多数据中心场景。
注:本文以Linux CentOS7系统为讲述如何部署集群模式(cluster);(虚拟机使用VMware)
老规矩环境准备
请确保是在环境中安装使用:
64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
64 bit JDK 1.8+;下载.配置。
Maven 3.5.x+;下载.配置。
集群需要依赖mysql,单机可不必
3个或3个以上Nacos节点才能构成集群。
1.Nacos持久化mysql
nacos支持mysql持久化,所以我们部署集群前要先配置mysql
mysql版本:5.7以上
sql文件:在nacos安装目录下config/nacos-mysql.sql
在mysql中创建数据库nacos,执行上面的sql语句,如图:
配置nacos的mysql配置:/config/application.properties
#*************** Spring Boot Related Configurations ***************# ### Default web context path: server.servlet.contextPath=/nacos ### Default web server port: server.port=8845 #*************** Network Related Configurations ***************# ### If prefer hostname over ip for Nacos server addresses in cluster.conf: # nacos.inetutils.prefer-hostname-over-ip=false ### Specify local server's IP: # nacos.inetutils.ip-address= #*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://10.8.32.14:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=root
2.集群搭建
1.集群规划图
2.集群规划
nacos01 10.8.32.14:8845
nacos02 10.8.32.14:8847
nacos03 10.8.32.14:8849
mysql 10.8.32.14:3306
nginx 10.8.32.23:8888
3.搭建nacos集群
1.准备3个nacos节点,并连接mysql数据库
2.修改三个nacos节点的端口分别为8845/8847/8849
3.在conf文件夹下创建cluster.conf,内容为集群中的节点,如图:
4.以次启动3个nacos的bin目录下的startup.sh
./startup.sh
4.将3个节点的端口添加到防火墙
firewall-cmd --zone=public --add-port=8845/tcp --permanent firewall-cmd --zone=public --add-port=8847/tcp --permanent firewall-cmd --zone=public --add-port=8849/tcp --permanent systemctl stop firewalld.service systemctl start firewalld.service
5.向其中一个节点注册一个服务,在浏览器分别访问Nacos的3个节点看服务是否都注册进来了:http://10.8.32.14:8849/nacos/index.html;http://10.8.32.14:8847/nacos/index.html;http://10.8.32.14:8845/nacos/index.html;
6.在nginx配置负载均衡
location /nacos-server/ { proxy_set_header Host $http_host; proxy_pass http://nacos-servers/; }
upstream nacos-servers{ server 10.8.32.14:8845; server 10.8.32.14:8847; server 10.8.32.14:8849; }
在浏览器访问Nginx的负载均衡地址:http://10.8.32.23:8888/nacos-server/nacos/index.html
7.在服务中使用Nacos集群
cloud:
nacos:
discovery:
server-addr: 10.8.32.23:8888/nacos-server/
至此,集群搭建完毕!