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

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

該技術相似於Spring Cloud Confightml

1 配置管理的意義

項目痛點

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

爲了解決痛點,經常使用方案是引入配置服務器,架構以下:
git

  • 引入依賴

  • 寫配置(約定大於配置),要謹遵以下映射關係圖哦

  • 建立新的bs.yml配置文件

  • 在NACOS操做面板配置


  • 啓動內容中心

2 配置的動態刷新

修改配置後,應用能夠動態刷新配置,而不須要重啓應用github

  • 添加@RefreshScope註解便可

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

能夠儘可能避免使用歷史版本,而直接修改配置

3 共享配置

3.1 相同應用內

所指定的大於通用的web

3.2 不一樣應用間

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

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

shared-detaids

ext-config

優先級

shared-dataids < ext-config < 自動

4 引導上下文

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

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

4.2 Application Context的父上下文

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

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

5 數據持久化

5.1 做爲服務發現組件

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

~/nacos/naming/public


5.2 做爲配置服務器

數據分爲以下兩部分服務器

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

$NACOS_ HOME/data/derby-data

若是想查看其具體內容,必須中止nacos,而後鏈接Derby這個Apache開發的內嵌數據庫,經過IDEA的數據源鏈接

架構

配置屬性的快照

~/nacos/config

6 搭建生產可用的Nacos集羣

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

  • 推薦閱讀

搭建生產可用的Nacos集羣

7 NACOS配置管理最佳實踐

  • 能放本地,不放遠程
  • 儘可能規避優先級
  • 定規範,例如全部配置屬性都要加上註釋
  • 配置管理人員儘可能少(官方正在開發權限控制)

參考

本文由博客一文多發平臺 OpenWrite 發佈!
相關文章
相關標籤/搜索