任务调度选择之PowerJob 和 Snail Job

发布于:2024-06-10 ⋅ 阅读:(219) ⋅ 点赞:(0)

背景

最近在选择一款任务调度产品,找了几款产品进行调研,我对产品的要求是可以进行可视化、有角色权限、任务编排、支持http、接入成本低等,发现有有两款挺符合的PowerJob和Snail Job。

同类产品对比

Elastic-Job xxl-job PowerJob Snail Job
定时调度 Cron Cron CRON、固定频率、固定延迟、OpenAPI 1. 定时任务 2. 秒级任务(无需依赖外部中间件) 3. 固定频率
重试任务 不支持 不支持 不支持 1.支持本地&远程重试模式 2.支持各种常用组件的重试 比如dubbo/feign 3.支持多种退避策略 4.丰富的重试风暴管控手段…
任务编排 不支持 不支持 可视化任务编排 可视化任务编排
分布式计算 静态分片 广播 MapReduce 动态分片 1. 广播执行 2. 集群执行 3. 静态分片 4. 动态分片(开发中)
多语言 1. Java 2. 脚本任务 1. Java 2. 脚本任务 1.内置Java、2.外置Java(容器)、3.Shell、4.Python等脚本 1. Java(已支持) 2. 脚本任务(开发中) 3. HTTP任务(开发中) 4. Kettle(开发中)
可视化 1. 历史记录 2. 运行日志(不支持存储)3. 监控大盘 1. 历史记录 2. 运行日志(支持持久化) 3. 监控大盘 1. 历史记录 2. 运行日志(支持持久化) 3. 监控大盘 4. 操作记录 5. 查看日志堆栈
可运维 启用、禁用任务 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务
报警监控 邮件 邮件 邮件,提供接口允许开发者扩展 1. 邮件 2. 钉钉 3. 企微 4. 飞书 5、Webhook
性能 ZooKeeper是性能瓶颈 采用Master节点调度,Master节点压力大 无锁化设计,性能强劲无上限 系统采用多bucket模式,借助负载均衡算法,确保每个节点能够均衡处理任务,同时支持无限水平扩展,轻松应对海量任务调度
接入成本 需引入Zookeeper增加系统复杂性和维护成本 只依赖DB接入成本低 任意 Spring Data Jpa支持的关系型数据库(MySQL、Oracle…) 只依赖DB接入成本低

有意向

目前是从PowerJob 和 Snail Job中选择,前者目前相对稳定,但文档相对完善,没有角色权限,不过可以自行接入企业内部账号;后者目前一直在迭代,文档不全,但大概的文档也能懂,有角色权限,看好的是在开发http任务、Kettle、脚本任务等,不过后者最低支持JDK版本为17,全面使用SpringBoot3.0以上版本。Snail Job配置还支持组、任务导入导出,

Snail Job图:

附件

参考:
Snail Job:https://snailjob.opensnail.com/docs/introduce/preface.html
仓库地址:https://gitee.com/aizuda/snail-job
在线案例:http://preview.easyretry.com/
PowerJob:https://www.yuque.com/powerjob/guidence/intro
仓库地址:https://gitee.com/KFCFans/PowerJob


网站公告

今日签到

点亮在社区的每一天
去签到