参考链接:
概念
Apollo是一个分布式配置管理中心,来自携程框架研发部。可以跨越不同环境、不同集群进行配置管理。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。通过这类专门管理配置的技术,可以清楚管理不同环境的配置,此外还有实时生效等功能特点。
特点
- 实时生效(热发布),配置修改后可以实时推送到应用端
- 灰度发布
- 版本发布管理
- 权限、审计、审核
- 部署简单等
四维度管理
应用 application
指定具体的应用(app.id标识)来进行相应的配置
环境 environment
可以指定不同环境的配置,默认提供功能测试环境fat,集成测试环境uat,开发环境dev,生产环境pro
集群 cluster
对于不同集群分类的维度配置,如不同地区中心的集群,配置不同的数据库地址
命名空间 namespace
一个应用中不同配置的分组。分为两种权限:
- 公共的:能被所有应用获取
- 私有的:只能被所属的应用获取到。一个应用尝试获取其它应用 private 的 Namespace,Apollo 会报 “404” 异常。
本地缓存
本地会缓存一份apollo配置文件,当网络不通等情况得以支持正常使用。Linux会默认缓存在/opt/data/{appId}/config-cache。