C++分布式实时应用框架——系统管理模块

一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个”封闭“的系统。你不可能再一台台去操做上百台机器,传统的人工运维方式早已不能知足当下须要,全部对集群或者集群中某个节点的操做都必需经过系统提供接口来完成。对于一个商用的分布式实时系统来讲,如何应对忽然出现的业务高峰;及时检测出集群中的故障节点并进行善后处理;对于集群内处理能力不一样的节点进行负载均衡调节;系统因过大压力崩溃前进行过载保护;测试容器与运营容器同网测试的灰度发布能力等等。这些都是系统管理模块须要去解决的问题,也是一个系统可否商用,足够智能的关键指标。负载均衡

 

  系统管理模块分为服务(SmartService)和管理(SmartManger)两部分。SmartService基于RESTful的接口,来对外提供各种对集群的查询和操做接口,能够方便和各种管理终端(PC、iOS、Android)对接,实现界面管理。完善的框架还提供轻松的二次开发接口,方便定制系统专属接口。如:调整日志级别、单号码日志跟踪、集群配置管理、集群实时拓扑数据查询等等。几百台机器的集群,人工维护已再也不现实,自动检测和自主运维已成为关键,SmartManger的自动负载管理功能就是用来完成这部分功能的。另外,系统管理模块是与状态中心、通信平台相互配合工做的,三者缺一不可。框架

  下面将详细介绍各个特点功能:运维

1、自动负载管理

  根据业务容器节点为上报的时延、类型、流量等信息,综合集群全部节点的信息,判断集群目前是否存在以下状况,并根据状况作出相应的应对动做。分布式

  1.  某个容器存在故障,不能正常处理业务——故障节点退网测试

  2.  某个容器处理能力不足,存在业务处理超时状况——对节点流量控制3d

  3.  某类容器处理能力不足,这类容器存在业务处理超时状况——对这类容器进行扩容器操做日志

  4.  某类容器处理能力富余,这类容器的流量知足缩容条件——对这类容器进行缩容操做blog

  5.  集群处理能力已达极限,可能出现系统崩溃的情况——对集群进行过载保护接口

 

 

2、故障节点自动退网

  在业务节点遇到不可恢复的故障再也不能正常处理业务,系统管理模块将自动检出,并将故障节点退出业务集群,以保证集群正常运行。资源

 

 3、节点流量控制

  当某个节点处理能力不足时,如这个节点在作日志跟踪时,系统管理模块能够根据节点处理能力减小发往该节点的消息数,作实时负载均衡。

 

 

4、动态扩缩容

  当某类型业务容器处理能力不够时,系统能够自动进行在线扩容,扩容期间业务不受影响。当处理能力富余时,系统也会自动进行在线缩容,以让出资源给须要业务。

5、节点过载保护

  当整个集群的处理能力已经达到极限时(不能再进行扩容操做),为了防止系统崩溃,能够根据业务的状况进行过载保护,如:对初始鉴权请求进行丢弃处理。

 

6、灰度发布

  系统支持灰度发布能力,可让测试点节和正常业务节点同网运行,将让测试号码路由到测试节点进行处理,而不影响其它正常的号码。

相关文章
相关标签/搜索