调度框架之海豚调度

海豚调度 个人简单理解:是api 提供执行调度脚本的接口,比如发布一个调度脚本任务,首先会将调度的command 持久化到db中;masterServer会不断扫描扫描表t_ds_command中的命令将其和masterAddress封装成processInstance转化成WorkflowExecuteRunnable
,放入到processInstanceExecCacheManager中,然后masterSchedulerBootstrap下的workflowEventLooper会将从processInstanceExecCacheManager获取到WorkflowExecuteRunnable 进行DAG split 转化成task 放入到TaskPriorityQueue; 然后 TaskConsumer从TaskPriorityQueue中拉取TaskPriority分发task,将task封装成ExecutionContext 然后用NettyExecutorManager将command发送到worker来执行任务。
| 模块 | 描述 |
|---|---|
| dolphinscheduler-alert | 告警模块,提供 AlertServer 服务。 |
| dolphinscheduler-api | web应用模块,提供 ApiServer 服务。 |
| dolphinscheduler-common | 通用的常量枚举、工具类、数据结构或者基类 |
| dolphinscheduler-dao | 提供数据库访问等操作。 |
| dolphinscheduler-remote | 基于 netty 的客户端、服务端 |
| dolphinscheduler-server | MasterServer 和 WorkerServer 服务 |
| dolphinscheduler-service | service模块,包含Quartz、Zookeeper、日志客户端访问服务,便于server模块和api模块调用 |
| dolphinscheduler-ui | 前端模块 |

浙公网安备 33010602011771号