Apollo-原理以及架构图分析
核心组件ConfigService提供配置获取接口提供配置推送接口服务于Apollo客户端AdminService提供配置管理接口提供配置修改发布接口服务于管理界面PortalClient为应用获取配置,支持实时更新通过MetaServer获取ConfigService的服务列表...
核心组件
ConfigService
-
提供配置获取接口
-
提供配置推送接口
-
服务于Apollo客户端
AdminService
-
提供配置管理接口
-
提供配置修改发布接口
-
服务于管理界面Portal
Client
-
为应用获取配置,支持实时更新
-
通过MetaServer获取ConfigService的服务列表
-
使用客户端软负载SLB方式调用ConfigService
Portal
-
配置管理界面
-
通过MetaServer获取AdminService的服务列表
-
使用客户端软负载SLB方式调用AdminService
Eureka
-
用于服务发现和注册
-
Config/AdminService注册实例并定期报心跳
-
和ConfigService住在一起部署
MetaServer
-
Portal通过域名访问MetaServer获取AdminService的地址列表
-
Client通过域名访问MetaServer获取ConfigService的地址列表
-
相当于一个Eureka Proxy
-
逻辑角色,和ConfigService住在一起部署
NginxLB
-
和域名系统配合,协助Portal访问MetaServer获取AdminService地址列表
-
和域名系统配合,协助Client访问MetaServer获取ConfigService地址列表
-
和域名系统配合,协助用户访问Portal进行配置管理
技术架构
Apollo的技术架构是完全的微服务部署架构,但是和apollo的创始人沟通之后,发现其实apollo技术架构一直在不断的升级,下面就把Apollo的架构版本演变之路通过图形展示出来,这样可以更加容易理解Apollo的技术架构
1.0版本
|
---|
2.0版本
|
---|
3.0版本
基于Eureka实现服务注册发现+客户端Ribbon配合实现软路由 |
---|
4.0版本
引入了MetaServer这个角色,它其实是一个Eureka的Proxy,将Eureka的服务发现接口以更简单明确的HTTP接口的形式暴露出来,方便Client/Protal通过简单的HTTPClient就可以查询到Config/AdminService的地址列表 |
---|
5.0版本
Apollo当前完整的技术架构
客户端推送更新架构
|
---|
服务端机制
|
---|
核心原理
服务端Spring DeferredResult来服务Http Long Polling请求
更多推荐
所有评论(0)