0%

Apollo

简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

网址: https://github.com/ctripcorp/apollo/

wiki

网址:https://github.com/ctripcorp/apollo/wiki/

执行流程

1、用户在配置中心对配置进行修改并发布

2、配置中心通知Apollo客户端有配置更新

3、Apollo客户端从配置中心拉取最新的配置、更新本地配置并通知到应用

工作原理

上图简要描述了Apollo的总体设计,可以从下往上看:

1、Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端

2、Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)

3、Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳

4、在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口

5、Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试

6、Portal(门户)通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试

7、为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程

layicr 微信

微信

layicr 支付宝

支付宝