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后,会通知对应的客户端
后面基于该架构介绍配置的写入、读取、推送等模块的源码。

你可能感兴趣的:(Apollo源码解析-架构篇)