天天看點

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 實作較高可用性

繼續閱讀