🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台
> ✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台
> ✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台
- 易用性 业务接入成本小。避免依赖研发人员的技术水平,保障稳定性
- 灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的任务
- 操作简单 分钟上手,支持 WEB 页面对任务数据 CRUD 操作。
- 数据大盘 实时管控系统任务数据
- 分布式重试任务 支持多样化退避策略、多样化重试类型、流量管控等
- 分布式调度任务 提供丰富的任务触发策略、任务编排、任务分片、停止恢复、失败重试等
- 任务数据管理 可以做到数据不丢失、数据一键回放
- 容器化部署 服务端支持 docker 容器部署
- 高性能调度平台 支持服务端节点动态扩容和缩容
- 支持多样化的告警方式 邮箱、企业微信、钉钉、飞书
设计思想
![]()
开源组件对比
| 项目 |
Quartz |
Elastic-Job |
XXL-JOB |
Easy Retry |
| 定时调度 |
Cron |
Cron |
Cron |
1. 定时任务 2. 秒级任务(无需依赖外部中间件) 3. 固定频率 |
| 重试任务 |
不支持 |
不支持 |
不支持 |
1.支持本地&远程重试模式 2.支持各种常用组件的重试 比如dubbo/feign 3.支持多种退避策略 4.丰富的重试风暴管控手段 ...... |
| 任务编排 |
不支持 |
不支持 |
不支持 |
可视化任务编排 |
| 分布式计算 |
不支持 |
静态分片 |
广播 |
1. 广播执行 2. 集群执行 3. 静态分片 |
| 多语言 |
Java |
1. Java 2. 脚本任务 |
1. Java 2. 脚本任务 |
1. Java 2. 脚本任务 3. HTTP任务 4. Kettle |
| 可视化 |
无 |
弱 |
1. 历史记录 2. 运行日志(不支持存储)3. 监控大盘 |
1. 历史记录 2. 运行日志(支持持久化) 3. 监控大盘 4. 操作记录 5. 查看日志堆栈 |
| 可运维 |
无 |
启用、禁用任务 |
1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 |
1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 |
| 报警监控 |
无 |
邮件 |
邮件 |
1. 邮件 2. 钉钉 3. 企微 4. 飞书 |
| 性能 |
每次调度通过DB抢锁,对DB压力大 |
ZooKeeper是性能瓶颈 |
采用Master节点调度,Master节点压力大 |
系统采用多bucket模式,借助负载均衡算法,确保每个节点能够均衡处理任务,同时支持无限水平扩展,轻松应对海量任务调度 |
| 接入成本 |
只依赖DB接入成本低 |
需引入Zookeeper增加系统复杂性和维护成本 |
只依赖DB接入成本低 |
只依赖DB接入成本低 |
更新日志
- 支持通过nginx代理 将应用代理到 ip/xxx/ 路径下访问【新增】issues(opens new window)
- 任务调度新增手动暂停、取消、恢复执行中任务【新增】issues(opens new window)
- 任务调度新增失败告警通知【新增】issues(opens new window)
- Dashboard 添加任务调度数据展示【新增】issues(opens new window)
- 支持namespace隔离不同业务线的应用 【新增】issues(opens new window)
- 重试告警新增重试任务进入死信队列告警类型 【新增】issues(opens new window)
- 修复多节点服务端存在某节点无客户端连接时,手动触发和自动触发任务失败 【BUG】
- 支持服务端jar包作为子服务启动【新增】
- netty client修改http协议增加Host请求头【优化】
- 优化服务端请求客户端路径多余/【优化】
- 修复分片模式参数提交失败问题【BUG】
- 场景编辑时场景名称和组不允许编辑【优化】
- 定时清除调度任务的历史日志 【新增】issues(opens new window)
- 告警支持通知负责人配置【新增】issues(opens new window)
参与者设计开发人员名单
- https://gitee.com/zhengweilins(opens new window)
- https://gitee.com/zuojunlin(opens new window)
- https://gitee.com/zsg1994(opens new window)
TODO LIST
- 支持查看实时日志
- 支持空间、组、任务等手动删除功能
- 支持企业微信通知
系统部分截图
![]()
![]()
![]()
![]()
![]()
![]()
![]()