creed的博客

apollo 入门

· zhangwengang

apollo的功能亮点§

  1. 统一管理不同环境,不同集群的配置
  2. 配置修改实时生效(热发布)
  3. 版本发布管理
  4. 灰度发布
  5. 有权限管理
  6. 文档完善 apollo文档

apollo基础模型§

  1. 用户在配置中心对配置进行修改并发布
  2. 配置中心会通知客户端有配置更新
  3. 客户端收到通知后,Apollo客户端从配置中心去拉取最新配置,更新本地配置并通知到应用

apollo核心概念§

1.(application)应用,一个发布的单位§

就是使用配置的应用,Apollo客户端在运行时,需要知道当前应用是谁,从而去获取到对应的配置

使用配置的应用要有唯一标示的aapid,由于应用身份是跟着代码走的,所以配置在代码中

2.(environment)环境§

的配置,同时也支持运行时通过System Properties 等制定 java客户端方法

3.(cluster)集群§

4. namespace(命名空间)§

apollo架构模块介绍§

Config Service§

Admin Service§

Meta Service§

Eureka§

服务端架构视图§

20200315152253.png20200315152244.png20200315152231.png

客户端架构视图§

20200315152311.png

客户端实现总结§

推拉结合§
  1. config Server 和客户端保持一个长连接,配置实现实时推送
  2. 客户端定期从Config Server拉取配置
配置缓存在本地§
  1. 客户端本地会再缓存一次
应用程序§
  1. 通过apollo客户端获取最新配置
  2. 订阅配置更新通知