有开源产品同样可以实现分布式任务调度,本文介绍SchedulerX和三款(Quartz、Elastic-Job和XXL-JOB)开源产品的对比。

项目 Quartz Elastic-Job XXL-JOB SchedulerX
定时调度 Cron Cron Cron
  • Cron
  • Fixed_Delay
  • Fixed_Rate
  • One_Time
  • OpenAPI
任务编排 不支持 不支持 不支持 支持

可以通过图形化配置,并且任务间可传递数据

分布式跑批 不支持 静态分片 广播
  • 广播
  • 静态分片
  • 动态分片(MapReduce)
多语言 Java
  • Java
  • Shell
  • Java
  • Shell
  • Python
  • PHP
  • Node.js
  • Java
  • Shell
  • Python
  • PHP
  • Node.js
  • Go
  • 可自定义
可观测
  • 历史记录
  • 运行日志
  • 监控大盘
  • 历史记录
  • 运行日志
  • 监控大盘
  • 操作记录
  • 查看堆栈
可运维 启用、禁用任务
  • 启用、禁用任务
  • 手动运行任务
  • 停止任务
  • 启用、禁用任务
  • 手动运行任务
  • 停止任务
  • 标记成功
  • 重刷历史数据
报警监控 邮件 邮件
  • 邮件
  • 钉钉
  • 短信
  • 电话
性能 每次调度通过DB抢锁,对DB压力大 ZooKeeper是性能瓶颈 由Master节点调度,Master节点压力大 可水平扩展,支持海量任务调度