🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台
> ✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台
> ✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台
本期是Spring Boot 2.x的最后一个版本,下一期将升级Spring boot3.x并作为长期支持版本
- 易用性 业务接入成本小。避免依赖研发人员的技术水平,保障稳定性
- 灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的任务
- 操作简单 分钟上手,支持 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 接入成本低 |
更新日志
- 定时任务执行任务编排功能【新增】issues
- 工作流执行手动/自动运行、复制工作流、停止等功能【新增】
- 任务调度支持失败重试【新增】issues
- 新增定时任务实时日志功能【新增】issues
- dashboard Sql 优化 【优化】issues
- 管理台组信息配置的分区下拉框无数据 【BUG】issues
项目地址
官网: https://www.easyretry.com/
gitee:https://gitee.com/aizuda/easy-retry.git
github:https://github.com/aizuda/easy-retry.git
方便的话给项目一个 star,你的支持是我们前进的动力!
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()