在前面介紹了 Nacos快速入門(mén),本節(jié)將介紹 Nacos 服務(wù)端集群化配置與搭建什往。
在生產(chǎn)環(huán)境中牲览,Nacos 服務(wù)端都是集群部署,不可能采用單機(jī)模式運(yùn)行(單機(jī)就沒(méi)法高可用...)恶守。因此第献,在這里記錄一下 Nacos 集群配置與搭建過(guò)程。
一兔港、Nacos Server 實(shí)例
為了方便起見(jiàn)庸毫,在一臺(tái)服務(wù)器上通過(guò)設(shè)置不同端口號(hào)來(lái)構(gòu)建不同的 Nacos Server 實(shí)例。下面會(huì)啟動(dòng)3個(gè) Naocs 實(shí)例衫樊,其端口號(hào)分別為 8847飒赃、8848、8849科侈。
(1) 下載/解壓
tar -zxvf nacos-server-1.4.0.tar.gz -C nacos_8847
tar -zxvf nacos-server-1.4.0.tar.gz -C nacos_8848
tar -zxvf nacos-server-1.4.0.tar.gz -C nacos_8849
(2) 修改 application.properties 配置
在${NACOS_HOME}/conf
目錄下包含如下文件:
- application.properties:Nacos 主配置文件(參考 SpringBoot 工程的主配置文件)
- application.properties.example:Nacos 主配置文件模板
- cluster.conf.example:集群相關(guān)配置
- nacos-logback.xml:日志相關(guān)配置
- nacos-mysql.sql:MySQL 數(shù)據(jù)庫(kù)初始化腳本(集群模式)
- schema.sql:Derby 數(shù)據(jù)庫(kù)初始化腳本(單機(jī)模式)
Nacos 默認(rèn)ip為 127.0.0.1载佳,默認(rèn) port 為 8848 (珠峰高度),因此臀栈,對(duì)于 nacos_8847 和 nacos_8849 實(shí)例需要修改其 ip 和 port蔫慧,在 application.properties 修改配置如下:
# nacos_8847 實(shí)例
server.port=8847
nacos.inetutils.ip-address=192.168.33.10
# nacos_8848 實(shí)例
server.port=8848
nacos.inetutils.ip-address=192.168.33.10
# nacos_8849 實(shí)例
server.port=8849
nacos.inetutils.ip-address=192.168.33.10
二、集群配置
將cluster.conf.example
文件拷貝一份权薯,然后重命名為cluster.conf
姑躲,在cluster.conf
中添加集群服務(wù)器的 ip 和 port,如下所示:
192.168.33.10:8847
192.168.33.10:8848
192.168.33.10:8849
上述配置在實(shí)例 nacos_8847盟蚣、nacos_8848黍析、nacos_8849 保持一致。
三屎开、配置數(shù)據(jù)源
Nacos 默認(rèn)采用嵌入式數(shù)據(jù)庫(kù) Derby 來(lái)進(jìn)行數(shù)據(jù)的持久化阐枣,Derby 的優(yōu)勢(shì)是體積小,是輕量級(jí)的數(shù)據(jù)庫(kù)奄抽。但是蔼两,Derby 支持的會(huì)話連接數(shù)較少,而且在集群模式下會(huì)存在數(shù)據(jù)一致性的問(wèn)題如孝。因此宪哩,在搭建 Nacos 集群環(huán)境時(shí)需要修改數(shù)據(jù)源為 MySQL (除了 Derby 外,目前第晰,Nacos 只支持 MySQL锁孟,但是暫不支持8.0版本)彬祖。
(1) MySQL 初始化
- 首先,創(chuàng)建數(shù)據(jù)庫(kù)
nacos_config
- 然后品抽,運(yùn)行
nacos-mysql.sql
即可完成 MySQL 數(shù)據(jù)庫(kù)的初始化
(2) 配置數(shù)據(jù)源
在 application.properties 中修改數(shù)據(jù)源如下所示:
db.num=1
db.url.0=jdbc:mysql://192.168.10.33:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=naco
四储笑、啟動(dòng)服務(wù)
進(jìn)入nacos_${port}/bin
目錄,分別執(zhí)行sh startup.sh
命令來(lái)啟動(dòng) 3 個(gè) Nacos 服務(wù)圆恤。
sh startup.sh
登錄 Nacos 后臺(tái)突倍,在 "集群管理" -> "節(jié)點(diǎn)列表" 中可以看到如下效果: