调度平台YYSchedule-介绍-任务节点监测机制

注:任务节点监测机制是在结果回收机制之后。

本章将介绍"任务节点监测机制",该机制可使控制节点taskmanager实现对任务节点node的控制作用。

而该机制主要由 "结果状态统计模块” ,以及 "任务节点监测模块" 组成,总体流程图如下所示:

任务节点监测机制

一、结果状态统计模块

在"结果回收机制"的流程图中,出现了结果状态统计模块,但当时并未进行介绍。

结果状态统计模块,是将所有回收的结果进行统计,并按照对应的任务节点node进行分类。这样我们在之后便可以通过对该模块进行监测来获知各个任务节点node的执行成功率。

二、任务节点监测模块

该模块中包括了节点实时信息、节点状态监测以及节点离线监测三部分。

1、节点状态监测

节点状态监测器将结果状态统计模块进行监测,每5秒监测一次,获取15分钟内统计模块所储存的统计数据,然后根据统计数据计算出监测周期内每个任务节点node的成功率。

如果某个任务节点,在5秒前成功率还很正常,但在这5秒的过程中,节点的成功率遇到了急剧下滑,低于用户所设定的临时值,便会在“节点实时信息中”将该任务节点标记为“已损坏”的任务节点,只有将任务节点node重启才能将“已损坏”标记给移除。

2、节点离线监测

节点离线监测器对节点实时信息进行监测,当发现任务节点node在3个心跳周期内没有将自身的心跳信息发送给控制节点,便可认为“某任务节点已离线”。接着监测器会将已离线的节点从节点实时信息中进行移除,从而实现了离线监测这一功能。

3、节点实时信息

节点实时信息一个容器,所有任务节点通过心跳机制反馈给控制节点的实时信息进行存储,并对每一个任务节点的实时信息进行打分。实时信息可提供给“任务下发模块”进行使用,任务下发模块会将任务下发给当前分值最低(负载最轻)的任务节点,并且每下发一个任务都会重新计算一次新的分值,以确保每个任务都会下发给最为合适的节点上;与此同时,任务不会下发给标记为“已损坏”的任务节点。

 

猜你喜欢

转载自blog.csdn.net/bintoYu/article/details/81866698
今日推荐