avatar

目录
开源配置管理中心 阿波罗(apollo)

开源配置管理中心 阿波罗(apollo)

github地址

apollo github地址
gitee 不定时更新镜像地址

快速入口

Apollo配置中心介绍

演示环境(Demo):

106.54.227.205
账号/密码:apollo/admin

在 2018 年度最受欢迎开源软件评选中,携程开源配置中心 Apollo 名列 Top20 之内,这一方面说明 Apollo 解决了微服务应用配置复杂的一大痛点,同时也说明社区对微服务需要集中配置的普遍认同。Apollo 配置中心架构相对复杂,但理解其架构对正确部署和使用 Apollo 非常重要,Apollo 本身采用微服务架构,使用了服务发现和软负载等分布式技术,它的核心组件和服务发现机制如下:

Client&ConfigService:Apollo 客户端 Client 通过 ConfigService 感知并获取实时配置。两者的发现机制是,ConfigService 启动时首先注册到 Eureka,Client 再通过 MetaServer(相当于 Eureka Proxy) 获取 ConfigService 的地址列表,并通过客户端软负载的方式连接 ConfigService。这个连接采用 long pulling 方式,支持 ConfigService 实时推送数据到 Client,且 Client 会定期重连获取配置,实现推拉结合效果。
Portal&AdminService:Portal 是给用户使用的配置管理 (添加、修改和发布等) 界面,AdminService 是实际操作配置的接口服务。两者的服务发现机制是,AdminService 启动时首先注册到 Eureka,Portal 再通过 MetaServer(Eureka Proxy)获取 AdminService 的地址列表,并通过客户端软负载的方式调用 AdminService。
Eureka&MetaServer:Apollo 采用 Eureka 做服务发现。在服务提供端,ConfigService 和 AdminService 启动时会自动注册到 Eureka。服务消费端比较复杂,首先,Apollo 引入 MetaServer 以屏蔽 Eureka 服务发现接口的复杂性,简化多语言客户端接入,MetaServer 相当于是 Eureka Proxy;其次,MetaServer 无状态以集群方式部署,需要前置 Nginx 做负载均衡;最后,Client 和 Portal 通过 Nginx->MetaServer->Eureka 方式间接发现目标服务。
关于微服务配置中心 Apollo 架构,资深架构师杨波在极客时间「微服务架构实战 160 讲」中进行了详细的讲解,戳下面可试看。

戳此试看「微服务配置中心 Apollo 架构与实战

携程Apollo配置中心架构深度剖析

文章作者: thf
文章链接: http://pcbopcbo.github.io/2020/05/15/2020051510/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 漂泊的个人笔记

评论