@[toc]
1、集群
Nacos单击模式仅仅适用于测试和单击使用,生产环境大多使用集群模式以确保高可用。如果有多数据中心场景,那么Nacos还支持多集群模式。
nacos集群架构图如下:
因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面
http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
http://SLB:port/openAPI 挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好。
http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式
2、集群搭建注意事项
- 3个或3个以上nacos节点才能构成集群。
- 要求虚拟机内存分配必须大于3G以上。
- 数据持久化必须配置为mysql持久化
3、集群规划
node cluster:
192.168.159.22 8845 nacos01
192.168.159.22 8846 nacos02
192.168.159.22 8847 nacos03
192.168.159.22 9090 nginx
192.168.159.22 3306 mysql
4、搭建nacos集群
4.1 准备3个nacos节点,并连接mysql数据库
将nacos安装包复制三份:
4.2 重新初始化mysql数据
4.3 修改nacos conf目录中cluster.conf文件添加所有集群节点
第一台:
第二台:
第三台:
4.4 修改nacos各自端口号
4.5 启动三台nacos节点
4.6 测试集群是否搭建成功
在微服务中向8845端口注册,若其他两个nacos节点也注册了该服务,则证明集群搭建成功
启动服务之后,查看三台节点:
192.168.159.22:8845
192.168.159.22:8846
192.168.159.22:8847
可以看到,该服务也在另外两台节点中注册了,证明nacos集群搭建成功。
5、Nacos+Nginx集群模式
5.1 安装必要依赖:
yum install -y gcc pcre-devel zlib-devel
5.2 下载Nginx
http://nginx.org/en/download.html
5.3 将nginx上传到linux中,并解压缩
tar -zxvf nginx-1.11.1.tar.gz
5.4 查看nginx安装目录
5.5 在Nginx安装目录中执行如下命令:(指定安装位置)
./configure --prefix=/opt/nginx
5.6 执行上述命令后,再执行如下命令
make && make install
5.7 配置nginx conf配置文件
加入如下配置:
upstream nacos-servers {
server 192.168.159.22:8845;
server 192.168.159.22:8846;
server 192.168.159.22:8847;
}
修改(将原来的location注释掉)
location / {
proxy_pass http://nacos-servers/;
}
5.8 启动nginx进行测试
以配置方式进行启动,/opt/nginx是Nginx的安装目录。
./nginx -c /opt/nginx/conf/nginx.conf
这时测试的微服务直接写nginx地址即可:
server.port=8999
spring.application.name=NACOSCLIENT
#nacos server 总地址 写nginx地址 默认80端口(开发中写域名)
spring.cloud.nacos.server-addr=192.168.159.22:80
#作为nacos client注册地址
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr}
#指定向nacos server注册的服务名称
spring.cloud.nacos.discovery.service=${spring.application.name}
访问192.168.159.22:80/nacos
,之后负载均衡会自动帮我们请求到nacos集群的其中一个节点,可看到服务也已经注册成功了。就是你直接单独访问三台nacos节点,都能看到刚注册的服务。