Apollo特性
基于配置的特殊性,所以Apollo從設計之初就立志于成為一個有治理能力的配置發布平臺,目前提供了以下的特性:
-
統一管理不同環境、不同集群的配置
-
Apollo提供了一個統一界面集中式管理不同環境(environment)、不同集群(cluster)、不同命名空間(namespace)的配置。
-
同一份代碼部署在不同的集群,可以有不同的配置,比如zookeeper的地址等
-
通過命名空間(namespace)可以很方便地支持多個不同應用共享同一份配置,同時還允許應用對共享的配置進行覆蓋
-
-
配置修改實時生效(熱發布)
-
用戶在Apollo修改完配置并發布后,客戶端能實時(1秒)接收到最新的配置,并通知到應用程序
-
-
版本發布管理
-
所有的配置發布都有版本概念,從而可以方便地支持配置的回滾
-
-
灰度發布
-
支持配置的灰度發布,比如點了發布后,只對部分應用實例生效,等觀察一段時間沒問題后再推給所有應用實例
-
-
權限管理、發布審核、操作審計
-
應用和配置的管理都有完善的權限管理機制,對配置的管理還分為了編輯和發布兩個環節,從而減少人為的錯誤。
-
所有的操作都有審計日志,可以方便地追蹤問題
-
-
客戶端配置信息監控
-
可以在界面上方便地看到配置在被哪些實例使用
-
-
提供Java和.Net原生客戶端
-
提供了Java和.Net的原生客戶端,方便應用集成
-
支持Spring Placeholder, Annotation和Spring Boot的ConfigurationProperties,方便應用使用(需要Spring 3.1.1+)
-
同時提供了Http接口,非Java和.Net應用也可以方便地使用
-
-
提供開放平臺API
-
Apollo自身提供了比較完善的統一配置管理界面,支持多環境、多數據中心配置管理、權限、流程治理等特性。不過Apollo出于通用性考慮,不會對配置的修改做過多限制,只要符合基本的格式就能保存,不會針對不同的配置值進行針對性的校驗,如數據庫用戶名、密碼,Redis服務地址等
-
對于這類應用配置,Apollo支持應用方通過開放平臺API在Apollo進行配置的修改和發布,并且具備完善的授權和權限控制
-
? 一句話:Apollo集成了數據庫+Eureka+版本控制+權限管理+Http Long Polling ... ...
總結
- 上一篇: Apollo概况
- 下一篇: Apollo产品对比