分散式之配置中心

新亮筆記發表於2021-09-11

前言

我們在平時工作中可能會有這樣的需求,系統執行期間需要動態調整配置項,比如:

  • 調整系統告警人
  • 調整活動開關
  • 調整降級開關
  • 調整日誌級別
  • ...

以上這些還不夠,隨著程式功能的日益複雜對配置的期望也越來越高,還需要滿足:

  • 實現分環境、分叢集的管理配置
  • 實現配置的灰度釋出
  • 配置的釋出需要完善的授權機制
  • 配置的釋出需要記錄釋出歷史
  • 支援配置回滾到上一個釋出版本
  • ...

怎麼解決上述問題,有沒有開源產品?

市面上的配置中心

如何選擇?大家可以自行翻閱下文件。

我的最終選擇是 Apollo

  1. 修改/釋出配置
  2. 配置更新通知
  3. 獲取最新配置

下圖是 Apollo 架構模組的概覽:

還有哪些應用場景?

應用場景廣泛,只要軟體中涉及到有本地配置檔案的,都可以使用這種方式實現動態配置。

只需要自己實現一個 apollo-client 即可,當配置發生更新時,拉取最新配置資訊,然後將配置資訊處理成軟體所需的配置格式。

小結

這篇文章比較短,主要介紹了為什麼需要配置中心以及市面上有哪些開源配置中心可供選擇。

Apollo 有完善的管理介面,這個我比較喜歡,哈哈。

推薦閱讀

  1. 分散式事務之理解篇
  2. 分散式事務之最終一致性實現方案
  3. 分散式之非同步通訊元件選擇

相關文章