通过本文,你可以了解到Apollo的总体交互流程,整体架构,以及一些核心概念.
前言
最近在听杨波老师的微服务课程,对配置中心Apollo十分感兴趣,想深入了解下。所以接下来会逐步通过几篇文章来深入浅出Apollo。本文是第一篇,主要从整体上来感知下。
整体交互模型

核心分三个部分:
- 用户
- 配置中心
- 客户端
核心概念
应用(application)
- 描述: 标识介入应用的唯一标识,后续更改配置都是基于某个应用层次修改
- 主要场景: 服务隔离
环境(enviorent)
- 描述: 不同环境中,可以配置不同的配置
- 主要场景: 环境隔离
集群(cluster)
- 描述: 一个应用下不同实例的分组, 不同的cluster,可以有不同的配置
- 主要场景: 多数据中心,不同数据中心可以有不同的配置:
名称空间(namespace)
- 描述: 一个应用下的不同配置的分组
- 主要场景:
- 不同配置的分组(数据库配置,应用元数据配置)
- 公共组件之间的配置(public)
- 应用默认有自己的配置(private)
- 名称空间类型
- 描述: 具体配置。KV结构
- Apollo配置唯一标识
- 描述: 编辑,发布,项目管理
- 角色:
- 系统管理员: 拥有全部的权限
- 项目管理员: 可串讲Namespace,cluster,管理项目。
- 普通用户: 可以查看
- 权限
- Namespace 编辑,创建
- Item编辑(不可以发布),发布(不可编辑)。
系统架构

同时食用波波老师的文章(见参考链接)更佳。
注意:
- 参考地址中波波老师是分5步逐步演进。我是分为了三步。对应主要是基于下游几个点:
- V1本质是最原始的配置中心。包含了配置中心Apollo最基本的模块。 对应波波老师演进中的V1
- V2本质是解决了V1中Client与服务端服务注册与感知问题。对应波波老师演进中的V2和V3
- V3版本本质是解决语言兼容以及其他模块(portal,metaServer等)服务于发现。 对应波波老师演进中的V4和V5