Apollo架构(服务端)
Apollo配置中心分为多个模块:
- Eureka:服务注册和发现,2,3服务将被注册至1,并保持心跳;
- ConfigService:配置获取接口、配置推送接口、是服务于Apollo客户端;
- AdminService:配置管理接口、配置修改、发布接口、是服务于Portal;
- Portal:配置管理界面,通过MetaServer获取Admin Service服务列表,客户端软负载;
- Client:应用获取配置,实时更新,通过MetaServer获取Admin Service服务列表,客户端软负载;
- MetaServer:Poratal通过域名访问MetaServer获取Admin Service服务列表。Client通过域名访问MetaServer获取Admin Service服务列表,类似于是Eureka的一个Proxy;
核心框架
- Poratal独立拥有Portal DB,并通过Admin Service相关接口,对配置内容进行管理;
- Cilent以推拉结合的方式,从ConfigService中获取已经配置的并发布的配置内容;
如果做到Admin service和Config service能够被Portal和client发现,而且保证其HA,Apollo引入了Eureka,如下图所示。
Apollo为了适配多语言(.net,php等),引入了Meta Service,如果是JAVA客户端,可以直接使用Eureka的注册发现机制;
整体架构视图如下:
领域模型
权限模型
实时推送设计
ReleaseMessage实现,通过DB的扫描发现。
参考来源:极客时间
来源:oschina
链接:https://my.oschina.net/zxh821215/blog/3212556