初遇攜程apollo配置中心

1.介紹

apollo是攜程的開源配置管理中心,能夠從應用、環境、集羣、命名空間4個維度集中的管理配置,並可以夠實施的推送至客戶端。數據庫

2.優勢

1.統一管理不一樣環境、不一樣集羣的配置併發

  Apollo提供了一個統一界面集中式管理不一樣環境(environment)、不一樣集羣(cluster)、不一樣命名空間(namespace)的配置。
  同一份代碼部署在不一樣的集羣,能夠有不一樣的配置,好比zookeeper的地址等
  經過命名空間(namespace)能夠很方便地支持多個不一樣應用共享同一份配置,同時還容許應用對共享的配置進行覆蓋
2.配置修改實時生效(熱發佈)spa

  用戶在Apollo修改完配置併發布後,客戶端能實時(1秒)接收到最新的配置,並通知到應用程序
3.版本發佈管理日誌

  全部的配置發佈都有版本概念,從而能夠方便地支持配置的回滾
4.灰度發佈接口

  支持配置的灰度發佈,好比點了發佈後,只對部分應用實例生效,等觀察一段時間沒問題後再推給全部應用實例部署

5.權限管理、發佈審覈、操做審計權限控制

  應用和配置的管理都有完善的權限管理機制,對配置的管理還分爲了編輯和發佈兩個環節,從而減小人爲的錯誤。
  全部的操做都有審計日誌,能夠方便地追蹤問題
6.客戶端配置信息監控io

  能夠在界面上方便地看到配置在被哪些實例使用
7.提供Java和.Net原生客戶端集羣

  提供了Java和.Net的原生客戶端,方便應用集成
  支持Spring Placeholder, Annotation和Spring Boot的ConfigurationProperties,方便應用使用(須要Spring 3.1.1+)
  同時提供了Http接口,非Java和.Net應用也能夠方便地使用
8.提供開放平臺API監控

  Apollo自身提供了比較完善的統一配置管理界面,支持多環境、多數據中心配置管理、權限、流程治理等特性。不過Apollo出於通用性考慮,不會對配置的修改作過多限制,只要符合基本的格式就能保存,不會針對不一樣的配置值進行鍼對性的校驗,如數據庫用戶名、密碼,Redis服務地址等
  對於這類應用配置,Apollo支持應用方經過開放平臺API在Apollo進行配置的修改和發佈,而且具有完善的受權和權限控制
9.部署簡單

  配置中心做爲基礎服務,可用性要求很是高,這就要求Apollo對外部依賴儘量地少  目前惟一的外部依賴是MySQL,因此部署很是簡單,只要安裝好Java和MySQL就可讓Apollo跑起來  Apollo還提供了打包腳本,一鍵就能夠生成全部須要的安裝包,而且支持自定義運行時參數

相關文章
相關標籤/搜索