首页 > 其他 > 详细

Apollo 配置中心

时间:2020-08-09 23:33:28      阅读:102      评论:0      收藏:0      [点我收藏+]
Apollo(https://github.com/ctripcorp/apollo)是一个配置中心,支持从应用、环境、集群维度去管理配置,也支持从公共,私有维度去管理配置。 满足了大部分的配置场景。 
作为一个配置中心:
1. 配置项的保存,基本都会放到数据库中。 这里apollo使用的是mysql. 
2. 变更配置如何通知到客户端, 一般是使用zookeeper, 比如百度的disconf, 这里apollo使用的是http长轮询。 
3. 配置的高可用,一般都会在本地会有一个配置文件的副本。 即使配置中心挂了,应用还是能够启动, 只是配置可能不是最新的。 apollo就是这种配置。 
4. 最后就是配置的SDK如何与应用集成。 这个就不展开了。 
 
apollo关于配置变更通知这块,主要分为了2个部分:
1.  如何发现配置变更?  apollo解耦了「配置变更」和「配置变更发布」, 配置变更就是一个数据库操作,除了保存本身的配置信息,还会保存一个「ReleaseMessage」到数据库, 表示有变更时间发生, config server中的一个线程,每隔1S扫描「ReleaseMessage」, 发现变更的配置。
2. 如何通知客户端? 使用的是http的长轮询, 客户端在启动后,会连接cofig server, 连接90秒超时, config server收到请求会会hang到服务端不保存, 如果90秒内没有配置变更,就自动返回, 如果在90秒内有配置变更,请求会立刻返回,并且携带namespace。 客户端收到请求后,会立刻请求服务端
 

Apollo 配置中心

原文:https://www.cnblogs.com/beyondbit/p/13466695.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!