45
社区成员




上图简要描述了Apollo的总体设计,我们可以从下往上看:
1、Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端
2、Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)
3、Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳
4、在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口
5、Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试
6、Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试
7、为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中
【参考资料】