(1). Apollo是什么

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景.
服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器. Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持. .Net客户端不依赖任何框架,能够运行于所有.Net运行时环境.

(2). 基本概念

(3). Apollo架构设计

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

"Apollo总体架构"

(4). Apollo客户端设计

下图简要描述了Apollo客户端的实现原理:

"Apollo客户端设计"

(5). 配置更新推送实现细节

Apollo客户端和服务端保持了一个长连接,从而能第一时间获得配置更新的推送.
长连接实际上是通过Http Long Polling实现的,具体做法如下:

(6). 总结

Apollo在设计上,考虑还是挺全面的.后面会进行项目搭建以及源码剖析.