前面学习了单机模式下的启动,今天尝试下集群部署。
生产环境中部署nacos确定是使用集群模式cluster保证高可用。
官方文档的集群部署推荐使用VIP+域名模式,把全部服务列表放到一个vip下面,而后挂到一个域名下面。mysql
官方推荐,nacos集群通常有3种方式,三种部署方式在访问形式的区别以下,nginx
http://ip1:port/openAPI 直连ip模式,机器挂则须要修改ip才可使用
http://VIP:port/openAPI 挂载VIP模式,直连vip便可,下面挂server真实ip,可读性很差
http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,并且换ip方便,推荐模式web
官方建议至少3个或3个以上的节点来实现集群模式。sql
程序启动默认占用的端口是8848,咱们能够对端口进行修改,打开conf文件下的application.properties,修改启动端口。数据库
如今演示使用单机伪集群模式,因此经过修改端口的方式来部署这3个实例,端口分别为:884八、885八、8868。服务器
在nacos的解压目录nacos/的conf目录下,配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)架构
# ip:port 58.18.17.155:8848 58.18.17.155:8858 58.18.17.155:8868
生产使用建议至少主备模式,或者采用高可用数据库。app
sql语句源文件在distribution/conf/目录下的nacos-mysql.sql,在本地初始化对应的数据库。curl
配置文件在nacos的conf目录下的application.properties,添加如下配置socket
db.num=1 db.url.0=jdbc:mysql://58.18.17.155:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=root
db.num 为数据库实例数量 若是有多个数据库实例经过 db.url.0、db.url.1..... 指定不一样的数据库连接。
默认的没有参数模式,就是集群模式,启动命令:
sh startup.sh
关闭服务器,能够直接执行
sh shutdown.sh
修改conf/nginx.conf配置
upstream nacos { server 58.18.17.155:8848; server 58.18.17.155:8858; server 58.18.17.155:8868; } server { listen 80; server_name test.nacos.com; location / { proxy_pass http://nacos; } }
配置域名 test.nacos.com 绑定VIP
curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
3个节点都正常启动以后, 能够分别登陆 各个web 界面查看 集群的节点、健康状态:
http://58.18.17.155:8848/nacos/#/clusterManagement?dataId=&group=&appName=&namespace=&serverId= http://58.18.17.155:8858/nacos/#/clusterManagement?dataId=&group=&appName=&namespace=&serverId= http://58.18.17.155:8868/nacos/#/clusterManagement?dataId=&group=&appName=&namespace=&serverId=
扫码关注公众号:架构进化论,得到第一手的技术资讯和原创文章