各模块职责
Confifig Service
提供配置的读取、推送等功能,服务对象是
Apollo
客户端
Admin Service
提供配置的修改、发布等功能,服务对象是
Apollo Portal
(管理界面)
Eureka
提供服务注册和发现,为了简单起见,目前
Eureka
在部署时和
Confifig Service
是在一个
JVM
进程中的
Confifig Service
和
Admin Service
都是多实例、无状态部署,所以需要将自己注册到
Eureka
中并保持心跳
在
Eureka
之上架了一层
Meta Server
用于封装
Eureka
的服务发现接口
Client
通过域名访问
Meta Server
获取
Confifig Service
服务列表(
IP+Port
),而后直接通过
IP+Port
访问服务,
同时在
Client
侧会做
load balance
、错误重试
Portal
通过域名访问
Meta Server
获取
Admin Service
服务列表(
IP+Port
),而后直接通过
IP+Port
访问服务,
同时在
Portal
侧会做
load balance
、错误重试
为了简化部署,我们实际上会把
Confifig Service
、
Eureka
和
Meta Server
三个逻辑角色部署在同一个
JVM
进程
中
分步执行流程
1. Apollo
启动后,
Confifig/Admin Service
会自动注册到
Eureka
服务注册中心,并定期发送保活心跳。
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
2. Apollo Client
和
Portal
管理端通过配置的
Meta Server
的域名地址经由
Software Load Balancer(
软件负载均衡
器
)
进行负载均衡后分配到某一个
Meta Server
3. Meta Server
从
Eureka
获取
Confifig Service
和
Admin Service
的服务信息,相当于是一个
Eureka Client
4. Meta Server
获取
Confifig Service
和
Admin Service
(
IP+Port
)失败后会进行重试
5.
获取到正确的
Confifig Service
和
Admin Service
的服务信息后,
Apollo Client
通过
Confifig Service
为应用提供配
置获取、实时更新等功能;
Apollo Portal
管理端通过
Admin Service
提供配置新增、修改、发布等功能