Spring Cloud Alibaba 實戰(十二) - Nacos配置管理


本章主要內容是:使用Nacos管理配置以及實現配置管理的原因,配置如何管理以及動態刷新和最佳實現總結,最后是Nacos配置刷新原理解讀

該技術類似於Spring Cloud Config

1 配置管理的意義

項目痛點

不同環境 ,不同配置
配置屬性動態刷新

為了解決痛點,常用方案是引入配置服務器,架構如下:

  • 引入依賴
  • 寫配置(約定大於配置),要謹遵如下映射關系圖哦
  • 創建新的bs.yml配置文件
  • 在NACOS操作面板配置

  • 啟動內容中心

2 配置的動態刷新

修改配置后,應用可以動態刷新配置,而不需要重啟應用

  • 添加@RefreshScope注解即可

回滾的Bug(不要回滾到初始狀態! Nacos 1.2會解決)

可以盡量避免使用歷史版本,而直接修改配置

3 共享配置

3.1 相同應用內

所指定的大於通用的

3.2 不同應用間

  • 比如這段配置在用戶/內容中心都有,可以將其交給nacos管理共享配置

下面看NACOS配置共享的兩種方案:

shared-detaids

ext-config

優先級

shared-dataids < ext-config < 自動

4 引導上下文

4.1 用來連接配置服務器,讀取外部配置

我們的bootstrap.yml就是引導上下文的配置文件
對於我們的應用來說,就是來連接NACOS,讀取NACOS中的配置的

4.2 Application Context的父上下文

遠程配置(NACOS) & 本地配置優先級
默認情況下,遠程配置優先級較高哦

  • 如下的配置文件必須放在遠程配置中才生效

5 數據持久化

5.1 作為服務發現組件

其數據都是存在本地路徑:

~/nacos/naming/public


5.2 作為配置服務器

數據分為如下兩部分

NACOS web ui中添加的配置數據:

$NACOS_ HOME/data/derby-data

如果想查看其具體內容,必須停止nacos,然后連接Derby這個Apache開發的內嵌數據庫,通過IDEA的數據源連接

配置屬性的快照

~/nacos/config

6 搭建生產可用的Nacos集群

一次搭建即可,也不一定就你哦!

7 NACOS配置管理最佳實踐

  • 能放本地,不放遠程
  • 盡量規避優先級
  • 定規范,例如所有配置屬性都要加上注釋
  • 配置管理人員盡量少(官方正在開發權限控制)

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM