参考:Apollo配置中心

Apollo官方

芋道 Apollo 极简入门

概述

Apollo是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能实时推送到应用端,并且具备规范的权限、流程治理等特性。

  • ConfigService : 8080

提供配置的读取、推送等功能,服务对象时Apollo客户端

  • AdminService : 8090

提供配置的修改和发布,服务对象时Apollo Portal(管理界面)

  • Protal: 9070

Apollo的管理界面,进行配置,服务对象时开发者和开发平台

apollo发布python apollo发布配置_配置文件

核心概念

Namespace

namespace是配置项的集合,类似于一个配置文件的概念。

核心功能

  • 同一管理不同环境、不同集群的配置
  • 配置修改实时生效、热发布
  • 版本发布管理
  • 灰度发布

何为灰度发布:

对于一些对程序有比较大影响的配置,可以先在一个或者多个实例生效,观察一段时间没问题后再全量发布配置。对于一些需要调优的配置参数,可以通过灰度发布功能在不同的机器上应用不同的配置,不断调整、测评一段时间后找到较优的配置再全量发布位置。

  • 权限管理、发布审核、操作审计
  • 客户端配置信息监控

不支持热加载:

  • 启动是要注入IOC容器的,只加载一次的。

quick start

注:本地运行的Apollo的配置中心

  1. 下载apollo-quick-start-1.8.0(Apollo的GitHub文档中有链接)
  2. 修改配置文件demo.sh,设置数据库的地址,用户名和密码
  3. demo.sh目录下./demo.sh start

apollo发布python apollo发布配置_灰度_02

  1. 客户端引入依赖,并且配置
app:
  id: vhr-apollo

apollo:
  meta: http://127.0.0.1:8080
  bootstrap:
    enabled: true
    eagerLoad:
      enabled: true

meta地址是服务端的configService配置中心的端口,因为是配置在本地,所以是localhost;

自动刷新配置

配置监听器ApolloConfigChangeListener,如果不知道value值,默认namespace为application,如果项目中拆分为多个namespace,需要一一指定value;

Tips

日志级别

优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL。

信心最重要