Apollo——Apollo配置中心設計
阿新 • • 發佈:2021-12-20
Apollo配置中心設計
一、基礎模型
1.1、基礎模型
- 使用者在配置中心對配置進行修改併發布
- 配置中心通知 Apollo 客戶端有配置更新
- Apollo 客戶端從配置中心拉取最新的配置、更新本地配置並通知到應用
1.2、架構模組
下圖是Apollo架構模組的概覽,詳細說明可以參考Apollo配置中心架構剖析。
上圖簡要描述了 Apollo 的總體設計,我們可以從下往上看:
- Config Service 提供配置的讀取、推送等功能,服務物件是 Apollo 客戶端
-
- Admin Service提供配置的修改、釋出等功能,服務物件是Apollo Portal(管理介面)
-
- Config Service和Admin Service都是多例項、無狀態部署,所以需要將自己註冊到Eureka中並保持心跳
- 在Eureka之上我們架了一層Meta Server用於封裝Eureka的服務發現介面
-
- Client通過域名訪問Meta Server獲取Config Service服務列表(IP+Port),而後直接通過IP+Port訪問服務,同時在Client側會做load balance、錯誤重試
-
- Portal通過域名訪問Meta Server獲取Admin Service服務列表(IP+Port),而後直接通過IP+Port訪問服務,同時在Portal側會做load balance、錯誤重試
-
- 為了簡化部署,我們實際上會把Config Service、Eureka和Meta Server三個邏輯角色部署在同一個JVM程序中
實際部署的架構可以參考部署架構