ServiceComb之配置中心(Apollo)

1. Apollo是什么?

Apollo(阿波罗)是携程框架部门研发的配置管理平台,可以集中化管理应用不一样环境、不一样集群的配置,配置修改后可以实时推送到应用端,而且具有规范的权限、流程治理等特性。nginx

更多介绍,能够参考Apollo配置中心介绍git

2. Cluster是什么?

一个应用下不一样实例的分组,好比典型的能够按照数据中心分,把A机房的应用实例分为一个集群,把B机房的应用实例分为另外一个集群。github

3. Namespace是什么?

一个应用下不一样配置的分组。 请参考Apollo核心概念之“Namespace”web

4. 我想要接入Apollo,该如何操做?

请参考Apollo使用指南spring

5. 个人应用须要不一样机房的配置不同,Apollo是否能支持?

Apollo是支持的。请参考Apollo使用指南中的3、集群独立配置说明数据库

6. 我有多个应用须要使用同一份配置,Apollo是否能支持?

Apollo是支持的。请参考Apollo使用指南中的4、多个AppId使用同一份配置缓存

7. Apollo是否支持查看权限控制或者配置加密?

从1.1.0版本开始,apollo-portal增长了查看权限的支持,能够支持配置某个环境只容许项目成员查看私有Namespace的配置。app

这里的项目成员是指:框架

  1. 项目的管理员
  2. 具有该私有Namespace在该环境下的修改或发布权限

配置方式很简单,用超级管理员帐号登陆后,进入管理员工具 - 系统参数页面新增或修改configView.memberOnly.envs配置项便可。spring-boot

configView.memberOnly.envs

配置加密能够参考spring-boot-encrypt demo项目

8. 若是有多个config server,打包时如何配置meta server地址?

有多台meta server能够经过nginx反向代理,经过一个域名代理多个meta server实现ha。

9. 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和.Net应用,提供API支持其它语言应用,同时也支持Spring annotation获取配置 支持Spring应用,提供annotation获取配置 Apollo的适用范围更广一些

10. Apollo和Disconf相比有什么优势?

因为咱们本身并不是Disconf的资深用户,因此没法主观地给出评价。 不过以前Apollo技术支持群中的热心网友@Krast作了一个开源配置中心对比矩阵,能够参考一下。

相关文章
相关标签/搜索