Skip to content
Jason Song edited this page Nov 10, 2016 · 28 revisions

##1. Apollo是什么? Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。

更多介绍,可以参考Apollo配置中心介绍

##2. Cluster是什么? 一个应用下不同实例的分组,比如典型的可以按照数据中心分,把A机房的应用实例分为一个集群,把B机房的应用实例分为另一个集群。

##3. Namespace是什么? 一个应用下不同配置的分组。

##4. 我想要接入Apollo,该如何操作? 请参考应用接入指南

##5. 我的应用需要不同机房的配置不一样,Apollo是否能支持? Apollo是支持的。请参考应用接入指南中的三、集群独立配置说明

##6. 我有多个应用需要使用同一份配置,Apollo是否能支持? Apollo是支持的。请参考应用接入指南中的四、多个AppId使用同一份配置

##7. Apollo和Spring Cloud Config相比有啥优势和劣势?

Spring Cloud Config的精妙之处在于它的配置存储于Git,这就天然的把配置的修改、权限、版本等问题隔离在外。通过这个设计使得Spring Cloud Config整体很简单,不过也带来了一些不便之处。

下面尝试做一个简单的小结:

功能点 Apollo Spring Cloud Config 备注
配置界面 一个界面管理不同环境、不同集群配置 无,需要通过git操作
配置生效时间 实时 重启生效,或手动refresh生效 Spring Cloud Config需要通过Git webhook,加上额外的消息队列才能支持实时生效
版本管理 界面上直接提供发布历史和回滚按钮 无,需要通过git操作
灰度发布 支持(开发中) 不支持
授权、审核、审计 界面上直接支持,而且支持修改、发布权限分离 需要通过git仓库设置,且不支持修改、发布权限分离
实例配置监控 可以方便的看到当前哪些客户端在使用哪些配置 不支持
配置获取性能 快,通过数据库访问,还有缓存支持 较慢,需要从git clone repository,然后从文件系统读取
客户端支持 支持所有Java应用,提供API支持其它语言应用 支持Spring应用,提供annotation获取配置 对于Spring应用,Spring Cloud Config的客户端相对更方便一些
Clone this wiki locally