💡
原文中文,约2500字,阅读约需6分钟。
📝
内容提要
本文介绍了Master-Worker架构的任务调度系统中Master的复杂性,以及需要准确管理工作流状态和调度下一步行为的核心。介绍了DolphinScheduler的工作流生命周期的任务状态,包括生成工作流实例、构造DAG并生成任务实例、分发任务实例三个阶段。最终,工作流实例正式启动。
🎯
关键要点
- Master-Worker架构的任务调度系统中,Master的复杂性更高,负责管理任务调度的准确性和稳定性。
- DolphinScheduler的工作流生命周期包括生成工作流实例、构造DAG并生成任务实例、分发任务实例三个阶段。
- 任务调度系统的启动有两个入口:系统调度和手动运行。
- 生成工作流实例的过程涉及读取命令表并处理,避免重复调度以提高性能。
- 构造DAG和生成任务实例是在WorkflowExecuteThreadPool线程池中执行,确定任务的先后顺序。
- DAG对象存储了生成后的任务节点及其依赖关系,任务提交到优先级队列中。
- 任务实例的分发采用单线程的Producer-Consumer模型,确保负载均衡和正常接收任务。
➡️