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
5.将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
6.向其中一个节点注册一个服务,在浏览器分别访问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;
7.在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
8.在服务中使用Nacos集群
cloud:
nacos:
discovery:
server-addr: 10.8.32.23:8888/nacos-server/
至此,集群搭建完毕!