上一篇完成了采用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友善,推薦模式
當然我手頭上也沒有公網虛拟IP,直接采用IP加端口的模式部署,
注:目前器群模式下不采用mysql作為配置檔案的存儲方式,是以需要先配置為采用mysql資料源模式,我在上一篇部落格中已經說明了,這裡不再介紹,直接配置叢集。
步驟如下:
conf檔案夾下的檔案如下圖所示,其中下載下傳的壓縮包解壓出來是沒有cluster.conf的,通過複制cluster.conf-example并修改檔案名得來。
-
修改cluster.conf,将部署nacos server的三台伺服器ip位址寫上即可
注:三台伺服器cluster.conf檔案相同,都是協商這三個IP位址即可
#it is ip #example 114.116.137.*** 132.232.159.*** 47.107.122.***
- 分别啟動三台nacos server
-
修改用戶端,在用戶端的bootstrap.properties檔案中修改server的IP位址
注:修改成自己的三台伺服器ip位址,用逗号分隔
spring.cloud.nacos.config.server-addr=114.116.137.***:8848,132.232.159.***:8848,47.107.122.***:8848
- 啟動用戶端 發現可以正常啟動
檢視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 實作較高可用性