目录
一、介绍
Apollo(阿波罗)是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Apollo 目前在国内开发者社区比较热,在 Github 上有超过 5k 颗星,在国内众多互联网公司有落地案例,可以说 Apollo 是目前配置中心产品领域 Number1 的产品,其成熟度和企业级特性要远远强于 Spring Cloud 体系中的 Spring Cloud Config 产品。
Apollo 采用分布式微服务架构,它的架构有一点复杂。Apollo 的作者宋顺虽然给出了一个架构图,但是如果没有一定的分布式微服务架构基础的话,则普通的开发人员甚至是架构师也很难一下子理解。只有完全理解了 Apollo 的架构才能在生产实践中更好的部署和使用 Apollo。另外,通过学习 Apollo 的架构,大家可以深入理解微服务架构的一些基本原理。
二、架构和模块
下图为官方的架构图:
如果没有足够的分布式微服务架构的基础,对携程的一些框架产品 (比如 Software Load Balancer (SLB) 不了解的话,那么首次看这个架构图是不太好理解的。
下面是 Apollo 的七个模块,其中四个模块是和功能相关的核心模块,另外三个模块是辅助服务发现的模块:
四个核心模块及其主要功能:
模块 | 主要功能 |
---|---|
ConfigService | 服务于Apollo客户端 提供配置获取接口 |
AdminService | 服务于管理界面Portal 提供配置管理接口 |
Client | 为应用获取配置,支持实 |