🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台
✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台
✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台
特别声明
📢特别声明
为了促进系统的更好发展,我们正式宣布自本版本起,EasyRetry 将更名为 SnailJob,并从版本号 1.0.0 开始,请大家尽快迁移至 SnailJob。由于包路径和表结构的调整,新版本将不再兼容之前的 EasyRetry 版本, EasyRetry 版本会继续做 BUG 修复。对此给大家带来的不便,我们深表歉意,并感谢大家的理解与支持
项目特性
-
易用性 业务接入成本小。避免依赖研发人员的技术水平,保障稳定性
-
灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的任务
-
操作简单 分钟上手,支持 WEB 页面对任务数据 CRUD 操作。
-
数据大盘 实时管控系统任务数据
-
分布式重试任务 支持多样化退避策略、多样化重试类型、流量管控等
-
分布式调度任务 提供丰富的任务触发策略、任务分片、停止恢复、失败重试等
-
工作流任务编排 仿钉钉设计的流程编排引擎,支持复杂的功能编排、失败重试、告警等
-
任务数据管理 可以做到数据不丢失、数据一键回放
-
容器化部署 服务端支持 docker 容器部署
-
高性能调度平台 支持服务端节点动态扩容和缩容
-
支持多样化的告警方式 邮箱、企业微信、钉钉、飞书、自定义告警
-
支持多种流行数据库 mysql、mariadb、sqlserver、oracle、postgres 数据库
开源组件对比
项目 | Quartz | Elastic-Job | XXL-JOB | PowerJob | Snail Job |
---|---|---|---|---|---|
定时调度 | Cron | Cron | Cron | CRON、固定频率、固定延迟、OpenAPI | 1. 定时任务 2. 秒级任务(无需依赖外部中间件) 3. 固定频率 4.OpenAPI(开发中) |
重试任务 | 不支持 | 不支持 | 不支持 | 不支持 | 1.支持本地&远程重试模式 2.支持各种常用组件的重试 比如dubbo/feign 3.支持多种退避策略 4.丰富的重试风暴管控手段 ...... |
任务编排 | 不支持 | 不支持 | 不支持 | 支持 | 仿钉钉工作流设计,颜值高、体验好 |
分布式计算 | 不支持 | 静态分片 | 广播 | 支持 | 1. 广播执行 2. 集群执行 3. 静态分片 4. 动态分片(开发中) |
多语言 | Java | 1. Java 2. 脚本任务 | 1. Java 2. 脚本任务 | 支持 | 1. Java(已支持) 2. 脚本任务(开发中) 3. HTTP任务(开发中) 4. Kettle(开发中) |
用户管理 | 不支持 | 支持 | 支持 | 不支持 | 完备的用户管理和权限管理 |
安全 Token | 不支持 | 不支持 | 支持 | 不支持 | 支持 |
可视化 | 无 | 弱 | 1. 历史记录 2. 运行日志(不支持存储)3. 监控大盘 | 支持 | 1. 历史记录 2. 实时日志(支持持久化、可视化) 3. 监控大盘(实时调度数据展示) 4. 失败调度排名 5. 在线集群查看等 |
可运维 | 无 | 启用、禁用任务 | 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 | 支持 | 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 4、手动重试 |
报警监控 | 无 | 邮件 | 邮件 | 邮件 | 支持配置多种告警场景, 通知方式支持: 1. 邮件 2. 钉钉 3. 企微 4. 飞书 5、Webhook |
性能 | 每次调度通过DB抢锁,对DB压力大 | ZooKeeper是性能瓶颈 | 采用Master节点调度,Master节点压力大 | 无锁化设计 | 系统采用多bucket模式,借助负载均衡算法,确保每个节点能够均衡处理任务,同时支持无限水平扩展,轻松应对海量任务调度 |
接入成本 | 只依赖DB接入成本低 | 需引入Zookeeper增加系统复杂性和维护成本 | 只依赖DB接入成本低 | 依赖DB接入成本低 | 只依赖DB接入成本低 |
更新日志
1. 支持组、定时任务、工作流、重试任务、通知人导入和导出【新增】2. 工作流从antd迁移到soybeanjs【优化】
3. 超级管理员不允许删除、修改权限【优化】
4. 调整定时任务、工作流、重试场景的配置菜单排序【优化】
5. 修复已知的前端搜索问题【BUG】
6. 修复工作流多个决策节点场景下导致的任务节点没有触发问题【BUG】
7. 首页任务Card添加点击动作【新增】
8. 支持普通用户修改密码【新增】
9. 优化客户端group配置和enabled加载顺序【优化】
10. 修复常驻任务执行阻塞策略时无法准时开启下一次任务【BUG】
11. 修复sqlserver数据库MP分页查询是没有带order by 导致的查询报错【BUG】
12. 定时任务支持超时检查机制【新增】
13. 工作流执行超时检查机制【新增】
14. 组名称和重试场景名称支持短横线 (-) 格式【优化】
15. 调整定时任务、重试场景、通知场景配置的表单布局【优化】
16. 每次 “编辑” 定时任务,cron 表达式就会被重置成默认值【BUG】
17. 修复工作流任务显示不正确【BUG】
18. 修复 clearOfflineNode 出现死锁【BUG】
19. 优化其他已知问题【优化】
核心功能
项目地址
-
官网: https://snailjob.opensnail.com/
-
gitee: https://gitee.com/aizuda/snail-job
-
github:https://github.com/aizuda/snail-job
-
体验地址:https://snailjob.opensnail.com/docs/preview.html
方便的话给项目一个 star,你的支持是我们前进的动力!
1.1.0 TODO List
1. 支持达梦数据库【信创】
2. 支持动态分片
3. 工作流迁移最终版本
4. 空间、组、重试场景等删除功能
5. 所有筛选列表添加时间范围,默认选择一个月
6. 发布官网2.0
先睹为快
还没有评论,来说两句吧...