当前位置:   article > 正文

apollo local 模式_Apollo 配置中心:分布式部署

apollo local规划

原标题:Apollo 配置中心:分布式部署

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务端架构

上图简要描述了 Apollo 的总体设计:

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

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+Port,而后直接通过 IP+Port 访问服务,同时在 Portal 侧会做 load balance、错误重试部署策略

上图描述了 Apollo 的部署策略:

PortalDB 主要保存权限、支持的环境等数据,Apollo Portal 环境只需要部署一套,管理所有环境(DEV、FAT、UAT、PRO)

ConfigDB 保存应用相关的配置数据,每个环境需要独立的 ConfigDB 数据库

为保证稳定性,PortalDB 和 ConfigDB 需要支持 Master-Slave 模式

为简化部署,实际上会把 Config Service、Eureka 和 Meta Server 部署在同一个 JVM 进程中,Admin Service 部署在另一个 JVM 线程中

Meta Server、Eureka 、Config Service 和 Admin Service 在生产环境可部署在两个机房,实现双活客户端架构

上图简要描述了 Apollo 客户端的实现原理:

客户端和服务端保持了一个长连接,从而能第一时间获得配置更新的推送

客户端会定时从 Apollo 配置中心服务端拉取应用的最新配置(防止推送机制失效导致配置不更新)

客户端从 Apollo 配置中心服务端获取到应用的最新配置后,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/880682
推荐阅读
相关标签
  

闽ICP备14008679号