我們已經了解nacos作為註冊中心和配置中心,下面來了解下生產部署的角度nacos都需要怎麼配置。
nacos服務端自身並沒有做過什麼特殊的配置,關於預設的單機配置的nacos只適用於測試和開發環境,那麼對於高可用的生產環境,nacos需要做什麼配置?
搭建nacos集群之前,我們需要修改nacos的資料持久化配置為mysql儲存,預設情況下nacos使用嵌入式資料庫實現資料的儲存。如果啟動多個預設配置下的nacos節點,資料儲存是存在一致性問題的。為了解決這個問題,nacos採用了集中式儲存的方式來支援集群化部署,目前只要支援mysql的儲存。
配置nacos的mysql儲存只需要下面三步:
spring.datasource.platform=mysql
db.num=
1db.url.
0=jdbc:mysql:
//localhost:
3306
/nacos?characterencoding=utf8&connecttimeout=
1000
&sockettimeout=
3000
&autoreconnect=
true
db.user=root
db.password=
nacos的配置已完成,重新部署單機模式啟動nacos,我們操作nacos查詢mysql中的表可以查詢到操作記錄已經記錄到資料庫中。
由於引用了mysql,多了乙個中介軟體那麼就要考慮nacos引用對整個系統效能的影響,mysql同時也需要部署集群,成本提高。
一致性問題? 與etcd、consul、zookeeper等通過演算法方式解決一致性問題的中介軟體相比的優點與不足?
nacos文件
Nacos 集群和持久化
官網 上圖翻譯一下 預設nacos使用嵌入式資料庫 derby 實現資料的儲存。所以,如果啟動多個預設配置下的nacos節點,資料儲存是存在一致性問題的。為了解決這個問題,nacos採用了集中式儲存的方式來支援集群化部署,目前只支援mysql的儲存。nacos支援三種部署模式 單機模式 用於測試和單...
Windows 版本nacos持久化
單機模式支援mysql 在0.7版本之前,在單機模式時nacos使用嵌入式資料庫實現資料的儲存,不方便觀察資料儲存的基本情況。0.7版本增加了支援mysql資料來源能力,具體的操作步驟 spring.datasource.platform mysql db.num 1 db.url.0 jdbc m...
sentinel與nacos持久化
在流量控制那篇文章中,我們在sentinel中配置好a服務對應的限流策略後,如果a服務重啟就會導致sentinel中配置好的策略丟失,所以需要持久化操作。流量控制可以有三種方法配置 一種是在sentinel控制台進行配置 服務重啟則配置的策略丟失 一種是在 中進行編寫控制,還有就是從nacos中讀取...