携程 Apollo 配置中心初探
最近在对开源配置中心进行调研。当前流行的开源配置中心包括 Apollo,Nacos,以及 Disconf。Apollo 应该是当前最流行,所以写篇文章来记录 Apollo 的安装与使用。
Apollo 是携程开源的分布式配置中心,能够集中化管理不同环境,不同集群的配置,配置修改后能够实时推送到应用,并且具备权限治理功能。
本文讲述如何快速搭建开发或者测试使用 Apollo 配置中心。如果需要在生产环境正式使用,可以参考链接 Apollo 分布式部署指南。
安装 Apollo
由于使用 Docker 安装 Apollo 相对于普通安装更简单和快捷,因此推荐由于 Docker 来安装 Apollo,以便于快速了解和使用 Apollo。
1. 下载源代码
使用 git clone
下载最新的 Apollo 源代码到本地。
1 | git clone https://github.com/ctripcorp/apollo.git |
2. 启动配置中心
下载 Apollo 源代码后,可以看到 Script
目录下包含 docker-quick-start
目录, docker-quick-start
目录如下:
其中 docker-compose.yml
文件由 docker-compose 使用,用来定义启动 Apollo 所依赖的镜像。其依赖的 apollo-quick-start
镜像在 dockerhub 可以看到其 Dockerfile,里面定义了如何启动 Apollo。
进入 docker-quick-start
目录,然后使用 docker-compose 启动 Apollo 配置中心。
1 | docker-compose up |
有关 docker-compos
命令的使用,可以参考链接 Compose 命令说明,此处不再赘述。
成功启动 Apollo 后,可以看到以下启动日志,说明 Apollo 已正常启动,接下来可以进行访问使用。
3. 测试
打开浏览器,输入地址 http://localhost:8070/
,打开 Apollo Web 页面,输入用户 apollo
和密码 admin
进行登录后便进入以下页面。
4. 运行客户端
使用 docker exec
命令进入 pollo-quick-start
容器,其中,986c37493816 为 pollo-quick-start
容器 ID,可以通过 docker ps -a
命令获取容器 ID。
1 | docker exec -it 986c37493816 /bin/bash |
进入容器后,进入目录 /apollo-quick-star
,可以看到 demo.sh
脚本,使用 demo.sh
运行测试客户端。
1 | ./demo.sh client |
进入 SampleApp
配置页面,可以看到 timeout
配置为 100,修改 timeout
值为 200:
并对配置进行发布,这时可以看到测试客户端自动接收到了 timeout
新的配置值:
Apollo 核心概念
上面 Apollo 应用配置的使用,已经基本可以覆盖大部分的应用场景。除此之外,Apollo 还提供 environment(环境),cluster(集群),以及 namespace(命名空间)的配置管理。
有关这些高级配置的使用,可以参考官方文档的介绍:Apollo 配置中心介绍。
参考资料
- https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-Start-Docker%E9%83%A8%E7%BD%B2
- https://github.com/ctripcorp/apollo
- https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97
- https://yeasy.gitbooks.io/docker_practice/compose/commands.html
- https://www.cnblogs.com/sparkdev/p/9753793.html