设计目标:
1、提供可跨语言使用服务注册与发现平台
2、提供指令下发功能对集群服务进行管理
管控指令存在时效性,指令是可损的
3、提供节点信息存储与扩展
服务器类型(物理机、虚拟机、Docker容器等)、节点权重、服务分组、IP、Port、Name、Version等
服务注册: RPC/Web服务启动时,通过ControlCenterPlugin与控制中心服务建立并维护长连接,并自动上报服务节点,以及节点信息
服务发现
主动发现:Http服务 - 服务管理平台 - ControlCenterClient - ControlCenterService
被动发现:服务器节点变更时,控制中心主动向ControlCenterPlugin推送阶段变更类型,以及变更信息
指令发布
Client方式
管理员通过服务管理平台发布指令
服务管理平台通过HTTP协议传递指令至控制中心集群
指令同步
方案一:基于TCP(建议方案)
控制中心服务集群任意节点,接收到服务指令
基于Nettty通过TCP连接,在集群内进行服务指令同步
方案二:基于消息队列
控制中心服务集群任意节点,接收到服务指令
基于消息队列发布服务指令
控制中心服务集群全部节点从消息队列接收服务指令
名词解释:
控制中心 - 注册中心
ControlCenterPlugin - 微服务业务方引用,用于自动注册、服务发现、接收管理平台指令
ControlCenterClient - 服务管理平台引用,用于与控制中心进行数据交互
ControlCenterService - 控制中心服务,提供服务注册、服务发现、指令下发等功能
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)