今天就拉下来代码首先看了配置,发现代码中有apollo自己以前没见过就有了以下的基本了解。
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Apollo的主要作用有:
统一管理不同环境、不同集群的配置,以命名空间namespace为最小粒度进行配置,一个服务引入了这个命名空间,即使用了该命名空间的配置。
配置修改实时生效
版本发布管理
灰度发布
权限管理、发布审核、操作审计
客户端配置信息监控
首先,来理一下apollo的简单架构:
从逻辑上来说比较清晰,apollo将配置的编辑/发布与客户端获取配置分开,用两个服务(admin service 和 config service)实现
Portal(门户网站)通过调用admin service接口修改配置
Client(Apollo客户端)通过config service接口获取配置
为了保证高可用,添加了一层eureka,client和portal通过eureka调用接口服务。
为了使不同语言的client可通过http接口即可获取admin service和config service的信息,eureka上搭建Meta service,用来封装服务发现的细节,不用关心背后的注册中心