容错设计

容错设计

服务器戎机容错

master容错

依赖于zk的watcher机制,实现原理
image
其中master监控其他master和worker的目录,如果监听到remove事件,根据具体业务逻辑进行实例容错或任务实例容错
Master容错流程
image
Master容错完成之后则重新由DolphinScheduler中Scheduler线程调度,遍历 DAG 找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断Task Queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。

worker容错

image

任务重试

  • 任务失败重试:任务级别,调度系统自动进行的,比如一个shell任务设置重试次数为3,那么shell任务运行失败后会再多尝试运行3次
  • 流程失败恢复:流程级别的,是手动进行的,恢复是只能从失败的任务节点开始执行或从当前节点开始执行
  • 流程失败重跑:流程级别的,手动进行的,重跑是从最初的开始节点进行

每一个节点(task)可以配置失败重试的次数,当该任务节点失败,会自动重试。直到成功或者超过配置的次数。如果任务节点达到了最大失败次数,工作流整个失败停止。失败的工作流可以手工重跑或者流程恢复

posted @   SpecialSpeculator  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示