写在前面:

        最近在学习apollo方面的知识,apollo目前托管在GitHub上,相关文档也主要在GitHub上。出于学习的需要,也因为最近众所周知的旧问题和新阻碍,为了能更方便和稳定的访问到这些内容,遂对官方文档作一个整理,其中可能会加入自己的一些理解,文中所有有关官方文档中的内容所有权归原作者所有,理解内容(如果有的话)所有权归我所有。

        准备好了吗?嘟嘟嘟嘟,嘟嘟喂嘟嘟。。。Every Body 嗨起来

Apollo版本:1.4.0

名词解释

  • 普通应用
  • 普通应用指的是独立运行的程序,如
  • Web应用程序
  • 带有main函数的程序
  • 公共组件
  • 公共组件指的是发布的类库、客户端程序,不会自己独立运行,如
  • Java的jar包
  • .Net的dll文件

一、普通应用接入指南

1.1 创建项目

要使用Apollo,第一步需要创建项目。

  1. 打开apollo-portal主页
  2. 点击“创建项目”

apollo的namespace配置_apollo

3. 输入项目信息

  • 部门:选择应用所在的部门
  • 应用AppId:用来标识应用身份的唯一id,格式为string,需要和客户端app.properties中配置的app.id对应
  • 应用名称:应用名,仅用于界面展示
  • 应用负责人:选择的人默认会成为该项目的管理员,具备项目权限管理、集群创建、Namespace创建等权限

apollo的namespace配置_apollo_02

4. 点击提交

创建成功后,会自动跳转到项目首页

apollo的namespace配置_apollo的namespace配置_03

1.2 项目权限分配

1.2.1 项目管理员权限

项目管理员拥有以下权限:

  1. 可以管理项目的权限分配
  2. 可以创建集群
  3. 可以创建Namespace

创建项目时填写的应用负责人默认会成为项目的管理员之一,如果还需要其他人也成为项目管理员,可以按照下面步骤操作:

  1. 点击页面左侧的“管理项目”

apollo的namespace配置_客户端_04

2. 搜索需要添加的成员并点击添加

apollo的namespace配置_apollo_05

apollo的namespace配置_apollo_06

1.2.1 配置编辑、发布权限

配置权限分为编辑和发布:

  • 编辑权限允许用户在Apollo界面上创建、修改、删除配置
  • 配置修改后只在Apollo界面上变化,不会影响到应用实际使用的配置
  • 发布权限允许用户在Apollo界面上发布、回滚配置
  • 配置只有在发布、回滚动作后才会被应用实际使用到
  • Apollo在用户操作发布、回滚动作后实时通知到应用,并使最新配置生效

项目创建完,默认没有分配配置的编辑和发布权限,需要项目管理员进行授权。

  1. 点击application这个namespace的授权按钮

apollo的namespace配置_客户端_07

2. 分配修改权限

apollo的namespace配置_项目管理_08

3. 分配发布权限

apollo的namespace配置_回滚_09

1.3 添加配置项

编辑配置需要拥有这个Namespace的编辑权限,如果发现没有新增配置按钮,可以找项目管理员授权。

1.3.1 通过表格模式添加配置

  1. 点击新增配置

apollo的namespace配置_apollo_10

2. 输入配置项

apollo的namespace配置_客户端_11

3. 点击提交

apollo的namespace配置_项目管理_12

1.3.2 通过文本模式编辑

Apollo除了支持表格模式,逐个添加、修改配置外,还提供文本模式批量添加、修改。 这个对于从已有的properties文件迁移尤其有用。

  1. 切换到文本编辑模式 

apollo的namespace配置_客户端_13

2. 点击右侧的修改配置按钮 

apollo的namespace配置_回滚_14

3. 输入配置项,并点击提交修改 

apollo的namespace配置_回滚_15

1.4 发布配置

配置只有在发布后才会真的被应用使用到,所以在编辑完配置后,需要发布配置。

发布配置需要拥有这个Namespace的发布权限,如果发现没有发布按钮,可以找项目管理员授权。

  1. 点击“发布按钮” 
  2. apollo的namespace配置_客户端_16

  3. 填写发布相关信息,点击发布 
  4. apollo的namespace配置_项目管理_17

1.5 应用读取配置

配置发布成功后,应用就可以通过Apollo客户端读取到配置了。

Apollo目前提供Java客户端,具体信息请点击Java客户端使用文档

如果应用使用了其它语言,也可以通过直接访问Http接口获取配置,具体可以参考其它语言客户端接入指南

1.6 回滚已发布配置

如果发现已发布的配置有问题,可以通过点击『回滚』按钮来将客户端读取到的配置回滚到上一个发布版本。

这里的回滚机制类似于发布系统,发布系统中的回滚操作是将部署到机器上的安装包回滚到上一个部署的版本,但代码仓库中的代码是不会回滚的,从而开发可以在修复代码后重新发布。

Apollo中的回滚也是类似的机制,点击回滚后是将发布到客户端的配置回滚到上一个已发布版本,也就是说客户端读取到的配置会恢复到上一个版本,但页面上编辑状态的配置是不会回滚的,从而开发可以在修复配置后重新发布。