Spring Cloud Alibaba系列教程-01-Nacos安裝與啟停 一節(jié)沦童,
已搭建一個單實例Nacos——它使用內(nèi)嵌數(shù)據(jù)庫Derby撑碴,這顯然不適用于生產(chǎn)撑教。
本節(jié)詳細(xì)探討如何搭建一個生產(chǎn)可用的Nacos集群。討論的內(nèi)容主要包括:使用MySQL作為存儲持久化數(shù)據(jù)醉拓,以及如何搭建Nacos集群伟姐。
安裝MySQL數(shù)據(jù)庫
生產(chǎn)環(huán)境需使用MySQL作為后端存儲,因此需要搭建MySQL亿卤。生產(chǎn)中愤兵,MySQL建議至少主備模式,高可用MySQL更佳排吴。
高可用MySQL的搭建可參考:https://blog.csdn.net/jx_jy/article/details/80165584
注意:Nacos支持的MySQL版本為:5.6.5+
導(dǎo)入初始化腳本
找到 conf/nacos-mysql.sql
秆乳,將其導(dǎo)入到數(shù)據(jù)庫中。
配置數(shù)據(jù)庫連接
找到 conf/application.properties
钻哩,添加如下內(nèi)容:
# 表明用MySQL作為后端存儲
spring.datasource.platform=mysql
db.num=1
# MySQL JDBC地址
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# 數(shù)據(jù)庫賬號
db.user=nacos
# 數(shù)據(jù)庫密碼
db.password=nacos
部署架構(gòu)圖
下圖是來自Nacos官方的部署架構(gòu)圖:
主機規(guī)劃
節(jié)點 | 端口 |
---|---|
127.0.0.1 | 8848 |
127.0.0.1 | 8849 |
127.0.0.1 | 8850 |
復(fù)制三份Nacos安裝包屹堰,將 conf/application.properties
中的
server.port=8848
分別改為:
server.port=8848
server.port=8849
server.port=8850
開始搭建
-
找到
conf/cluster.conf.example
,將其改名為conf/cluster.conf
街氢,并將內(nèi)容改為類似如下扯键,即:以ip:端口
的形式列出Nacos集群中所有實例的地址列表:# ip:port 127.0.0.1:8848 127.0.0.1:8849 127.0.0.1:8850
啟動所有Nacos實例
配置代理服務(wù)器
安裝NGINX并啟動
-
為NGINX添加如下配置(對于Linux操作系統(tǒng),如在安裝NGINX時未自定義目錄珊肃,則可在
/etc/nginx/conf.d
新建文件荣刑,命名為nacos.conf
,內(nèi)容如下近范;同時刪除default.conf
即可):upstream nacos { server 127.0.0.1:8848; server 127.0.0.1:8849; server 127.0.0.1:8850; } server { listen 80; server_name localhost; location /nacos/ { proxy_pass http://nacos/nacos/; } }
測試
訪問 http://localhost/nacos
可看到Nacos的登錄頁嘶摊,登錄后即可正常使用Nacos。
優(yōu)化&最佳實踐
- 實際項目中评矩,建議為Nacos綁定一個域名叶堆,這樣即使未來有遷移Nacos的需求,客戶端也無需修改配置斥杜;
- 本文為了演示方便虱颗,將所有Nacos實例都部署在了一臺機器中沥匈;實際項目中,請將Nacos部署在不同機器中忘渔,從而實現(xiàn)更好的容災(zāi)與隔離
參考文檔
https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
本文首發(fā)
http://www.itmuch.com/spring-cloud-alibaba/03-nacos-ha/