继续我们nacos的学习记录,本篇记录一下Nacos的集群配置,各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢!
目录
集群配置前提
修改集群配置文件
编辑Nacos的启动脚本
Nginx作负载均衡器
测试
是否正常访问
配置是否持久化
服务是否可以正常注册到Nacos
集群配置前提
这里以持久化的方式配置集群,集群配置的前提:
- 64 bit JDK 1.8+
- Maven 3.2.x+
- 以配置持久化
修改集群配置文件
修改conf目录下的集群配置文件cluster.conf.example,我是先复制了一个文件,把cluster.conf.example备份起来。
复制cluster.conf.example:
cp cluster.conf.example cluster.conf
将以下信息加到cluster.conf文件中:
172.92.218.31:3333
172.92.218.31:4444
172.92.218.31:5555
其中172.92.218.31并不是服务器的ip,而是通过Linux命令 hostname -i 查询得到的。
编辑Nacos的启动脚本
我们就只有一台服务器,需要编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口,从而启动三个Nacos服务。
单机启动时我们直接执行 ./startup.sh 命令,我们想以这种形式:./startup.sh -p 3333 启动端口号为3333的nacos服务器实例(注意:这后面带的端口3333和上一步的cluster.conf配置的一致)。我们需要做以下配置:
修改bin目录下的startup.sh文件中的三处:
1、:m:f:s:改为::m:f:s:p:
2、追加
p)
PORT=$OPTARG;;
3、追加 -Dserver.port=${PORT}
Nginx作负载均衡器
上面通过配置可以使用./startup.sh -p 3333 方式启动三个Nacos服务,下面我们通过Nginx作为负载均衡器。
修改conf目录下的nginx.conf文件,修改如下三个地方:
我们启动Nginx,进入sbin目录执行以下命令:
./nginx -c /usr/local/nginx/conf/nginx.conf
通过Nginx访问Nacos:http://your ip:1111/nacos 可以正常登录Nacos即可。
测试
是否正常访问
通过Nginx访问Nacos:http://your ip:1111/nacos 可以正常登录Nacos。
配置是否持久化
我们新建一个配置:
相应的数据库nacos_config表中保存了这条配置:
服务是否可以正常注册到Nacos
修改 alibaba-provider-server 服务的 application.yml 配置文件,将服务的注册地址改为Nginx代理的地址:server-addr: your ip:1111 :
server:
port: 9001
spring:
application:
name: alibaba-nacos-provider-server
cloud:
nacos:
discovery:
#server-addr: localhost:8848 #Nacos作为配置中心地址
# 换成nginx的1111端口,做集群
server-addr: your ip:1111
management:
endpoints:
web:
exposure:
include: '*'
查看Nacos服务列表中可看到 alibaba-provider-server 已经注册到Nacos了: