🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台
一文读懂 AizuDa/EasyRetry
> ✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台
> ✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台
设计思想
![]()
开源组件对比
| 项目 |
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
- server与client交互路径裸漏 希望增加通信token校验【新增】issues
- 工作流支持看板能力【新增】issue
- 实时日志合并功能【新增】issues
- 支持常见数据库例如oracle sqlserver 【新增】issues
- 优化秒级任务重复执行【优化】
- 优化多数据源模块【优化】
- 新增docker-compose.yaml 支持一键安装mysql、mariadb、sqlserver、oracle、postgres数据库【新增】
- 优化分布式锁TransactionTemplate线程安全问题 【优化】
- 废弃dbType配置,新增自动识别数据库类型【新增】
项目地址
一文读懂 AizuDa/EasyRetry
一文读懂AiZuDa/EasyRetry 重试组件的意义
官网: https://www.easyretry.com/
gitee:https://gitee.com/aizuda/easy-retry.git
github:https://github.com/aizuda/easy-retry.git
方便的话给项目一个 star,你的支持是我们前进的动力!
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()