标签:信息 用户管理 png 修改 连接数 51cto ring 使用 理解
Apollo配置中心有什么组件,组件有什么作用 ?从编译出来的jar包展开来讲,或是说运行包来说,只有4个组件,分别是:
Config Service 包中包含了三个组件: config ,meta server,euraka
a. Config 组件
A. 提供配置获取接口
B. 提供配置更新推送接口(基于Http long polling)
i. 服务端使用Spring DeferredResult实现异步化,从而大大增加长连接数量
ii. 目前使用的tomcat embed默认配置是最多10000个连接(可以调整),使用了4C8G的虚拟机实测可以支撑10000个连接,所以满足需求(一个应用实例只会发起一个长连接)。
C. 接口服务对象为Apollo客户端
b. Meta Server组件
A. Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port)
B. Client通过域名访问Meta Server获取Config Service服务列表(IP+Port)
C. Meta Server从Eureka获取Config Service和Admin Service的服务信息,相当于是一个Eureka Client
D. 增设一个Meta Server的角色主要是为了封装服务发现的细节,对Portal和Client而言,永远通过一个Http接口获取Admin Service和Config Service的服务信息,而不需要关心背后实际的服务注册和发现组件
E. Meta Server只是一个逻辑角色,在部署时和Config Service是在一个JVM进程中的
c. Eureka组件
A. 基于Eureka和Spring Cloud Netflix提供服务注册和发现
B. Config Service和Admin Service会向Eureka注册服务,并保持心跳
C. 为了简单起见,目前Eureka在部署时和Config Service是在一个JVM进程中的(通过Spring Cloud Netflix)
如果从用户访问数据流的关系图,大概类似如下的结构:
基本机制流程如下:
如果理解了上面的组件以及数据流程,那么也应该明白如果要编译安装Apollo大概需要获得什么组件。参考上面的第一张图,那么编译后的Apollo组件应该有四个:Portal,Admin Service ,Config Server,Client 。
标签:信息 用户管理 png 修改 连接数 51cto ring 使用 理解
原文地址:http://blog.51cto.com/brucewang/2141843