Apollo源码解析-架构篇

1、apollo简介

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

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。

2、Apollo的基础模型

  1. 用户在配置中心对配置进行修改并发布
  2. 配置中心通知Apollo客户端有配置更新
  3. Apollo客户端从配置中心拉取最新的配置、更新本地配置并通知到应用
image.png

3、架构模型

image.png

基于架构模型做一下核心业务的源码分析
1、通过门户发布配置,会调用admin service接口,将配置信息(ReleaseMessage)写入configdb中。
2、Cofig Service会定时从数据库中获取配置信息。
3、Config Service如果发现有新的消息记录,那么就会通知到所有的消息监听器
4、消息监听器收到配置发布的AppId+Cluster+Namespace后,会通知对应的客户端
后面基于该架构介绍配置的写入、读取、推送等模块的源码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 桌前小菜三两株, 手提金碗苦涩无。 天色此时近黄昏, 山间夕阳不知处。 形色匆匆忙过客, 欲往光明把家度。 小楼冬...
    地仙公羽阅读 352评论 5 15
  • 碰壁多了,慢慢发现,话多是种病。因为有些人的言语和想法根本不在一个频道上,说也是白说,正所谓鸡同鸭讲;有些人同情达...
    黑色玫瑰d阅读 744评论 6 33
  • 第二套是恬静的淑女风格 迪丽热巴本身就有着清纯脱俗的气质,这身衣服更是锦上添花,更加凸显淡雅。...
    倾国羽陌阅读 400评论 0 8