Apollo 配置中心

Apollo 配置中心

1 概念

  • AppId:用来标识应用身份的唯一id,格式为string,需要和客户端app.properties中配置的app.id对应

  • 应用名称:应用名,仅用于界面展示

  • 集群:在有些特殊情况下,应用有需求对不同的集群做不同的配置,比如部署在A机房的应用连接的es服务器地址和部署在B机房的应用连接的es服务器地址不一样。在这种情况下,可以通过在Apollo创建不同的集群来解决。

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

    • 私有:private权限的Namespace,只能被所属的应用获取到。一个应用尝试获取其它应用private的Namespace,Apollo会报“404”异常。
    • 公共:public权限的Namespace,能被任何应用获取。
    • 关联:继承类型
  • 灰度发布:

    1. 对于一些对程序有比较大影响的配置,可以先在一个或者多个实例生效,观察一段时间没问题后再全量发布配置。
    2. 对于一些需要调优的配置参数,可以通过灰度发布功能来实现A/B测试。可以在不同的机器上应用不同的配置,不断调整、测评一段时间后找出较优的配置再全量发布配置。
  • 热发布:用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序。

2 架构

  • 集群部署参考(比较简洁):
    https://blog.csdn.net/weixin_41133233/article/details/121833878

2.1 服务端架构

在这里插入图片描述

  • Config Service 提供配置的读取、推送等功能,服务对象是 Apollo client

  • Admin Service 提供配置的修改、发布等功能,服务对象是 Apollo Portal(管理界面)

  • Config Service 和 Admin Service 都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳

  • 在Eureka之上架了一层 Meta Server 用于封装Eureka的服务发现接口

  • Client通过域名访问 Meta Server 获取 Config Service 服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试

  • Portal通过域名访问 Meta Server 获取 Admin Service 服务列表(IP+Po

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值