分布式调度系统(4)——故障转移

2019-05-06  本文已影响0人  liuhailong

一、问题定义

当任务执行超时的时候,认为任务执行失败,触发故障转移。
区别于任务重新分配,故障转移是临时性的。

节点下线的情况,触发任务重新分配,不是“故障转移”的场景。

二、实现

在availableNodes里选择实时负载最低的一个节点(读取/runtime/node/{nodeName}节点数据,如果是当前节点,选择负载第二低的),兜底:当前节点重试。
在选中节点触发新的执行。

注意: 有子任务的主任务,不适用于超时的情况。

如设置超时强杀,则强杀原执行。

修改{jobInstanceId}{childJobInstanceId}node 节点数据。 retryCount + 1

到达重试次数限制,则记录失败,认为任务执行完成。

上一篇下一篇

猜你喜欢

热点阅读