天天看点

SpringCloud Alibaba Nacos作为配置中心(八)--------集群部署

上一篇完成了采用mysql数据库保存配置文件信息,为了保证可用性,生产数据库使用建议至少主备模式,或者采用高可用数据库。

这篇文章介绍一下nacos server 的高可用-------nacos server的集群部署

集群部署架构图

官方的推荐部署架构图:

推荐用户把所有服务列表放到一个vip(虚拟IP,主机宕机后可以自动漂移到备用机器上)下面,然后挂到一个域名下面

http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。

http://nacos.com:port/openAPI 域名+VIP模式,可读性好,而且换ip方便,推荐模式

SpringCloud Alibaba Nacos作为配置中心(八)--------集群部署

 当然我手头上也没有公网虚拟IP,直接采用IP加端口的模式部署,

注:目前器群模式下不采用mysql作为配置文件的存储方式,所以需要先配置为采用mysql数据源模式,我在上一篇博客中已经说明了,这里不再介绍,直接配置集群。

步骤如下:

conf文件夹下的文件如下图所示,其中下载的压缩包解压出来是没有cluster.conf的,通过复制cluster.conf-example并修改文件名得来。

SpringCloud Alibaba Nacos作为配置中心(八)--------集群部署
  1. 修改cluster.conf,将部署nacos server的三台服务器ip地址写上即可

    注:三台服务器cluster.conf文件相同,都是协商这三个IP地址即可

    #it is ip
    #example
    114.116.137.***
    132.232.159.***
    47.107.122.***
               
  2.  分别启动三台nacos server
  3. 修改客户端,在客户端的bootstrap.properties文件中修改server的IP地址

    注:修改成自己的三台服务器ip地址,用逗号分隔

    spring.cloud.nacos.config.server-addr=114.116.137.***:8848,132.232.159.***:8848,47.107.122.***:8848
               
  4. 启动客户端 发现可以正常启动

查看server端的日志 nacos/logs/start.out下可以看到日志

/usr/local/jdk1.8.0_192/bin/java  -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Xloggc:/home/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Djava.ext.dirs=/home/nacos/plugins/cmdb -Dnacos.home=/home/nacos -jar /home/nacos/target/nacos-server.jar  --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/home/nacos/conf/ --logging.config=/home/nacos/conf/nacos-logback.xml

         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 0.7.0
,`--.'`|  ' :                       ,---.               Running in cluster mode
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 4283
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://172.17.0.1:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

2019-01-22 19:32:38,109 INFO The server IP list of Nacos is [114.116.137.***, 132.232.159.***, 47.107.122.***]

2019-01-22 19:32:39,120 INFO Nacos is starting...

           

说明是以集群模式启动。

当关掉其中的任意一台或者任意两台,发现客户端依然可以启动成功,说明可以nacos server 实现较高可用性

继续阅读