Nacos集群部署(5)
集群模式部署
Nacos文档中提供了三种集群部署方案
http://ip1:port/openAPI
直连ip模式:- ip+端口进行部署,客户端直接连接Nacos的ip
http://Vip:port/openAPI
挂载虚拟IP模式:- 配合KeepAlive,Nacos真实ip都挂载虚拟Ip下
- 客户端访问Vip发起请求
- 当主Nacos宕机后,备用Nacos接管,实现高可用,
http://www.nacostest.com:port/openAPI
挂载虚拟IP+域名模式:- 为虚拟ip绑定一个域名,当Nacos集群迁移时,客户端配置无需修改。
这三种方案都是为了尽可能实现高可用,后两种方案除了基本的部署流程外更多侧重于实现高可用的工作上
本文以第一种ip+端口的方式为大家介绍集群部署方式
当然ip+端口
也有多种部署方式
- 1ip+n端口+Nginx:普通玩家部署方式,没有过多服务器,单台服务器启动多个nacos实例,仅适合测试使用
- nip+n端口+Nginx:RMB玩家部署方式,服务器资源充足,组建完美集群,实现更好的容灾与隔离
无论怎么部署,部署方式都是一样的,这里我以1ip+3端口+Nginx
的方式进行集群搭建
Nacos集群模式是需要两个条件的:
- 需要将Nacos数据持久化存储到Mysql数据库(单例模式默认使用了内嵌数据库)。
- 需要为集群的多个实例实现VIP功能(通常通过Nginx实现)
修改配置
1、修改Nacos-server目录conf/
下的application.properties
文件,添加mysql数据源
修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=123456
2、修改集群配置
ip和端口的规划如下:
192.168.75.1:8847
192.168.75.1:8849
192.168.75.1:8850
修改conf/
下的cluster.conf.example
文件,将其命名为cluster.conf
,内容如下
注:一定要记得将配置文件重命名为cluster.conf
, 最好用实际ip,而非127.0.0.1
,否则会出现问题
启动nacos
此时,多节点的集群雏形已经搭建好了,可以试着访问Nacos后台
配置nginx
完成上面的配置后,已经基本完成集群搭建的90%了
这里我们可以通过Nginx配置,为Nacos提供统一的入口,来实现一个简单的负载均衡
Nginx配置如下
upstream nacos-server { server 127.0.0.1:8847; server 127.0.0.1:8849; server 127.0.0.1:8850; } server { listen 8848; server_name localhost; location /nacos/ { proxy_pass http://nacos-server/nacos/; } }
启动nginx
过8848端口访问Nacos后台,此时Nginx会将请求分发至nacos-server
下的地址中,这里默认的分发策略是线性轮询