Apollo 分布式配置中心
1. 介绍
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
-- 摘自Apollo官网
1.1. 痛点
- 修改配置后,需要重启项目
- 大量重复的配置,不便于管理
1.2. 为什么选择Apollo
Apollo VS Spring Cloud Config
- Spring Cloud Config 依赖于GitHub,所有配置都是写在文件中,然后通过提交GitHub上来生效的,不同的环境用不用的文件区分
Apollo VS 阿里云应用配置管理ACM
- 依赖于阿里云,不便于后续迁移
- 阿里云已经放弃了该项目,不再维护
2. 快速开始
2.1. 服务端配置
运行方式有很多,作为入门,这里选择直接从官网下载打好的jar包运行
https://github.com/ctripcorp/apollo/releases
在开始之前,首先需要建表。将项目clone下来,脚本位于${YOUR-WORKSPACE}/apollo/scripts/db/migration/
也可以直接去github上找,apolloportaldb.sql 、 apolloconfigdb.sql
1 source /your_local_path/configdb/V1.0.0__initialization.sql
2 source /your_local_path/portaldb/V1.0.0__initialization.sql
数据库有了,接下来修改配置文件中相应的数据库连接信息
如无意外,至此,adminservice、configservice、portal都起来了
初始账号密码是:apollo/admin
首先,新建一个项目
然后,编辑配置并发布
2.2. 客户端配置
application.properties
修改配置后,实时生效
下一篇继续探索Apollo
未完待续。。。
3. 文档
https://github.com/ctripcorp/apollo/wiki/分布式部署指南
https://github.com/ctripcorp/apollo/wiki/Quick-Start
https://github.com/ctripcorp/apollo/wiki/Apollo使用指南
https://github.com/ctripcorp/apollo/wiki/Java客户端使用指南
https://github.com/ctripcorp/apollo/wiki/Apollo开发指南