参考:Apollo配置中心
概述
Apollo是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能实时推送到应用端,并且具备规范的权限、流程治理等特性。
- ConfigService : 8080
提供配置的读取、推送等功能,服务对象时Apollo客户端
- AdminService : 8090
提供配置的修改和发布,服务对象时Apollo Portal(管理界面)
- Protal: 9070
Apollo的管理界面,进行配置,服务对象时开发者和开发平台
核心概念
Namespace
namespace是配置项的集合,类似于一个配置文件的概念。
核心功能
- 同一管理不同环境、不同集群的配置
- 配置修改实时生效、热发布
- 版本发布管理
- 灰度发布
何为灰度发布:
对于一些对程序有比较大影响的配置,可以先在一个或者多个实例生效,观察一段时间没问题后再全量发布配置。对于一些需要调优的配置参数,可以通过灰度发布功能在不同的机器上应用不同的配置,不断调整、测评一段时间后找到较优的配置再全量发布位置。
- 权限管理、发布审核、操作审计
- 客户端配置信息监控
不支持热加载:
- 启动是要注入IOC容器的,只加载一次的。
quick start
注:本地运行的Apollo的配置中心
- 下载apollo-quick-start-1.8.0(Apollo的GitHub文档中有链接)
- 修改配置文件demo.sh,设置数据库的地址,用户名和密码
- demo.sh目录下
./demo.sh start
- 客户端引入依赖,并且配置
app:
id: vhr-apollo
apollo:
meta: http://127.0.0.1:8080
bootstrap:
enabled: true
eagerLoad:
enabled: true
meta地址是服务端的configService配置中心的端口,因为是配置在本地,所以是localhost;
自动刷新配置
配置监听器ApolloConfigChangeListener,如果不知道value值,默认namespace为application,如果项目中拆分为多个namespace,需要一一指定value;
Tips
日志级别
优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL。
信心最重要