Spring Cloud Alibaba系列教程-01-Nacos安裝與啟停( http://www.itmuch.com/spring-cloud-alibaba/01-nacos-install/ ) 一節,
已搭建一個單實例Nacos——它使用內嵌數據庫Derby,這顯然不適用於生產。
本節詳細探討如何搭建一個生產可用的Nacos集群。討論的內容主要包括:使用MySQL作為存儲持久化數據,以及如何搭建Nacos集群。
安裝MySQL數據庫
生產環境需使用MySQL作為後端存儲,因此需要搭建MySQL。生產中,MySQL建議至少主備模式,高可用MySQL更佳。
高可用MySQL的搭建可參考:https://blog.csdn.net/jx_jy/article/details/80165584
注意:Nacos支持的MySQL版本為:5.6.5+
導入初始化腳本
找到 conf/nacos-mysql.sql ,將其導入到數據庫中。
配置數據庫連接
找到 conf/application.properties ,添加如下內容:
# 表明用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
# 數據庫賬號
db.user=nacos
# 數據庫密碼
db.password=nacos
部署架構圖
下圖是來自Nacos官方的部署架構圖:
主機規劃
節點端口127.0.0.18848127.0.0.18849127.0.0.18850
複製三份Nacos安裝包,將 conf/application.properties 中的
server.port=8848
分別改為:
server.port=8848
server.port=8849
server.port=8850
開始搭建
- 找到 conf/cluster.conf.example ,將其改名為 conf/cluster.conf ,並將內容改為類似如下,即:以ip:端口 的形式列出Nacos集群中所有實例的地址列表:
# ip:port
127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850
- 啟動所有Nacos實例
配置代理服務器
1 安裝NGINX並啟動
2 為NGINX添加如下配置(對於Linux操作系統,如在安裝NGINX時未自定義目錄,則可在 /etc/nginx/conf.d 新建文件,命名為 nacos.conf ,內容如下;同時刪除 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。
優化&最佳實踐
1 實際項目中,建議為Nacos綁定一個域名,這樣即使未來有遷移Nacos的需求,客戶端也無需修改配置;
2 本文為了演示方便,將所有Nacos實例都部署在了一臺機器中;實際項目中,請將Nacos部署在不同機器中,從而實現更好的容災與隔離
參考文檔
https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
乾貨分享
最近將個人學習筆記整理成冊,使用PDF分享。關注我,回覆如下代碼,即可獲得百度盤地址,無套路領取!
- 001:《Java併發與高併發解決方案》學習筆記;
- 002:《深入JVM內核——原理、診斷與優化》學習筆記;
- 003:《Java面試寶典》
- 004:《Docker開源書》
- 005:《Kubernetes開源書》
- 006:《DDD速成(領域驅動設計速成)》
閱讀更多 IT牧場 的文章