DolphinScheduler笔记之5: 普通任务CommonTaskProcessor
原文中文,约9200字,阅读约需22分钟。发表于: 。接上一篇笔记,这里总计下普通任务在 master 的处理过程。 DolphinScheduler 里的任务类型,按照逻辑可以分为两种: 普通任务:具体执行的任务,例如 Shell、SQL、Flink 等,相当于编程语言里的函数、计算 条件分支:用于判断下一个任务是否执行,例如 Dependent、Conditions、Switch 等,相当于编程语言里的 while/for/if...
本文总结了DolphinScheduler中普通任务在master节点的处理过程,包括负载均衡、字段协议、网络延迟等。逻辑分支任务在master节点执行,需要考虑线程隔离、CPU占用。DolphinScheduler通过封装BaseTaskProcessor实现了这两种任务的统一处理流程。具体介绍了CommonTaskProcessor的实现,包括init、submitTask和dispatchTask等方法。总结了master节点构建DAG生成TaskInstance后,CommonTaskProcessor完成了后续分发任务的部分,需要考虑状态持久化、负载均衡、网络协议、线程隔离等。