赞
踩
Nacos的单节点,使用的standalone模式,配置的数据是默认存储到内嵌的数据库derby中。
集群搭建的时候我们需要将Nacos对接Mysql进行数据存储。不能用内嵌的数据库,不然数据无法共享。
集群模式,通过Nginx转发到多个节点,最前面挂一个域名即可,如下图:
我们在本地模拟来搭建集群。
在nacos的conf目录下找到nacos-mysql.sql先导入数据库
同样在conf目录下修改application.properties文件,增加数据库配置如下
# 指定数据源为Mysql
spring.datasource.platform=mysql
# 数据库实例数量
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=glWhjDwbk7+6
将上边修改好的nacos复制三份,分别为nacos、nacos2、nacos3
因为本地启动三个端口会冲突,
我们需要修改application.properties文件中的server.port,默认nacos的server.port=8848,其他2个实例的端口我们需要进行修改,比如nacos2修改成8847,nacos3修改成8846。
最后需要配置一份集群节点信息,配置文件在conf目录下的cluster.conf.example文件,我们重命名成cluster.conf。
然后编辑cluster.conf文件,增加3个节点的信息,格式为IP:PORT,三个目录需要相同。
127.0.0.1:8847
127.0.0.1:8849
127.0.0.1:8853
(nacos启动后会自动添加自己的节点信息到cluster文件且为ipv4地址 不推荐使用127.0.0.1)
启动的话直接到bin目录下,执行./startup.sh就可以了,默认就是集群模式,不需要加任何参数。
上述三个nacos成功启动后,nginx需要代理http请求
在nginx配置文件中添加信息如下
upstream nacos{
server localhost:8847;
server localhost:8849;
server localhost:8853;
}
server {
listen 80;
location /nacos/ {
proxy_pass http://nacos/nacos/;
}
至此本地访问80端口即可。
客户端使用nacos2.0版本时,服务端同样需要2.0+版本支持。
其他步骤同1.0相同,需要在nginx增加两个TCP转发(tcp转发需要长连接)。
Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。
nginx配置中添加如下信息(注意streeam与http平级)
stream { upstream grpcnacos{ server localhost:9847; server localhost:9849; server localhost:9853; } upstream grpcnacos2{ server localhost:9848; server localhost:9850; server localhost:9854; } server { listen 1080 so_keepalive=on; tcp_nodelay on; proxy_pass grpcnacos; } server { listen 1081 so_keepalive=on; tcp_nodelay on; proxy_pass grpcnacos2; }
参考:https://nacos.io/zh-cn/docs/2.0.0-compatibility.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。