Apollo(阿波羅)是攜程框架部門研發的配置管理平臺,可以集中化管理應用不一樣環境、不一樣集羣的配置,配置修改後可以實時推送到應用端,而且具有規範的權限、流程治理等特性。nginx
更多介紹,能夠參考Apollo配置中心介紹git
一個應用下不一樣實例的分組,好比典型的能夠按照數據中心分,把A機房的應用實例分爲一個集羣,把B機房的應用實例分爲另外一個集羣。github
一個應用下不一樣配置的分組。 請參考Apollo核心概念之「Namespace」web
請參考Apollo使用指南spring
Apollo是支持的。請參考Apollo使用指南中的3、集羣獨立配置說明
數據庫
Apollo是支持的。請參考Apollo使用指南中的4、多個AppId使用同一份配置
緩存
從1.1.0版本開始,apollo-portal增長了查看權限的支持,能夠支持配置某個環境只容許項目成員查看私有Namespace的配置。app
這裏的項目成員是指:框架
配置方式很簡單,用超級管理員帳號登陸後,進入管理員工具 - 系統參數
頁面新增或修改configView.memberOnly.envs
配置項便可。spring-boot
配置加密能夠參考spring-boot-encrypt demo項目
有多臺meta server能夠經過nginx反向代理,經過一個域名代理多個meta server實現ha。
Spring Cloud Config的精妙之處在於它的配置存儲於Git,這就自然的把配置的修改、權限、版本等問題隔離在外。經過這個設計使得Spring Cloud Config總體很簡單,不過也帶來了一些不便之處。
下面嘗試作一個簡單的小結:
功能點 | Apollo | Spring Cloud Config | 備註 |
---|---|---|---|
配置界面 | 一個界面管理不一樣環境、不一樣集羣配置 | 無,須要經過git操做 | |
配置生效時間 | 實時 | 重啓生效,或手動refresh生效 | Spring Cloud Config須要經過Git webhook,加上額外的消息隊列才能支持實時生效 |
版本管理 | 界面上直接提供發佈歷史和回滾按鈕 | 無,須要經過git操做 | |
灰度發佈 | 支持 | 不支持 | |
受權、審覈、審計 | 界面上直接支持,並且支持修改、發佈權限分離 | 須要經過git倉庫設置,且不支持修改、發佈權限分離 | |
實例配置監控 | 能夠方便的看到當前哪些客戶端在使用哪些配置 | 不支持 | |
配置獲取性能 | 快,經過數據庫訪問,還有緩存支持 | 較慢,須要從git clone repository,而後從文件系統讀取 | |
客戶端支持 | 原生支持全部Java和.Net應用,提供API支持其它語言應用,同時也支持Spring annotation獲取配置 | 支持Spring應用,提供annotation獲取配置 | Apollo的適用範圍更廣一些 |
因爲咱們本身並不是Disconf的資深用戶,因此沒法主觀地給出評價。 不過以前Apollo技術支持羣中的熱心網友@Krast作了一個開源配置中心對比矩陣,能夠參考一下。