定时任务调度系统调研

定时任务调度系统

我们的定时运维任务有集中管理和查看的诉求,记录一下。

候选:

airflow

Saturn

cronsun

Azkaban

XXL-JOB

webcron

spring的@Scheduled注解

选型

诉求:定时任务集中管理,有管理界面,能看任务日志。

推荐下面这篇文章:

spring的@Scheduled注解

这个应该是最快的开发方式,对一些比较简单的定时任务完全可以这么做。不过,要考虑多实例下的并发资源控制问题。

XXL-JOB

主页

github主页

java开发,开源协议是GPL v3,商业不友好,但作为内部任务调度平台,不对外出售,也无妨。

xxl-job很容易上手,并发量不大的时候,可以先用着。实现语言支持java和脚本语言(甚至支持shell脚本)。

Azkaban

linkedin开源,跟airflow比较类似。

webcron

github主页

太老,且用go语言开发,不好改。

Cronsun

github主页

go语言开发,万一有问题,不好改。

Saturn

主页

github主页

整体比较复杂。

Airflow

airflow的分布式调度核心是celery,celery的能力也许跟gearman差不多,但airflow支持用有向图将多个分布式任务串联起来,其能力就不是gearman可比的了,gearman要做到此能力,意味着也得开发一个类似airflow的超级客户端。

你可能感兴趣的:(分布式)