一个分布式的任务调度框架(Java),除了具备常规的分布式任务调度功能外,还提供自定义子任务的拆分、可对执行中的长任务自由控制、
一个分布式的任务调度框架(Java),除了具备常规的分布式任务调度功能外,还提供自定义子任务的拆分、可对执行中的长任务自由控制、DAG任务依赖、管理器与执行器分离部署等能力。
特性:
分为管理器(Supervisor)和执行器(Worker)两种角色,Supervisor与Worker可分离部署
Supervisor与Worker通过注册中心解耦,目前支持的注册中心有:Redis、Consul、Nacos、Zookeeper、Etcd
Supervisor以任务分发方式把任务给到Worker,目前支持的任务分发方式有:Redis、Http
支持任务分组(job-group),任务会分发给指定组的Worker执行
自定义拆分任务,重写JobHandler#split即可把一个大任务拆分为多个小任务,任务分治
提供任务执行快照的自动保存(checkpoint),让执行信息不丢失,保证因异常中断的任务能得到继续执行
提供执行中的任务控制能力,可随时暂停/取消正在执行中的任务,亦可恢复执行被暂停的任务
提供任务依赖执行的能力,多个任务构建好DAG依赖关系后,任务便按既定的依赖顺序依次执行
| #框架