携程 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 配置中心介绍

参考资料

  1. https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-Start-Docker%E9%83%A8%E7%BD%B2
  2. https://github.com/ctripcorp/apollo
  3. 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
  4. https://yeasy.gitbooks.io/docker_practice/compose/commands.html
  5. https://www.cnblogs.com/sparkdev/p/9753793.html