Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
功能:统一管理不同环境、不同集群的配置,以命名空间namespace为最小粒度进行配置,一个服务引入了这个命名空间,即使用了该命名空间的配置。
配置修改实时生效
版本发布管理
灰度发布
权限管理、发布审核、操作审计
客户端配置信息监控
使用:服务端的配置:新建appId,appId可以理解为是一套应用。在appId新建namespace添加配置内容。Namespace可以理解为是配置的集合,原先一个yml文件存放配置,现在可以通过某个环境 ,某个appId下的namespace引入。
客户端的使用:引入maven包并在启动类加入@EnableApollo即可,通过meta.server,appId和namespace找到所需的配置。可以理解为在apollo的配置就在配置文件里。通过@Value,@ConfigurationProperties引入的变量不受影响,对代码的入侵比较小。
监听配置的变化,不同的namespace
在项目的使用:把配置信息放入apollo。直接的做法是每个服务使用一个namespace,但是经过梳理发现,有些配置是多个服务共同使用的。
服务的配置进行分类:通用:Log,eureka,feign调用相关的
某些服务公用:database(openapi mon