Apollo
(阿波罗)是携程框架部门研发的分布式配置中心。
官方 GitHub: https://github.com/ctripcorp/apollo
官方 GitEE:https://gitee.com/nobodyiam/apollo
基础模型
用户在配置中心对配置进行修改并发布。
配置中心通知
Apollo
客户端有配置更新。
Apollo
客户端从配置中心拉取最新的配置、更新本地配置并通知到应用。
客户端实现原理
客户端和服务端保持了一个长连接,从而能第一时间获得配置更新的推送。
客户端还会定时从
Apollo
配置中心服务端拉取应用的最新配置。
- 这是一个
FallBack
机制,为了防止推送机制失效导致配置不更新。- 客户端定时拉取会上报本地版本。
客户端从
Apollo
配置中心服务端获取到应用的最新配置后,会保存在内存中。客户端会把从服务端获取到的配置在本地文件系统缓存一份。
- 在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置。
应用程序从
Apollo
客户端获取最新的配置、订阅配置更新通知。