Skip to content

前言

🌈 注意了哈

如果您刚刚接触SnailJob可以关注抖音或者B站, 通过观看录制的入门视频和功能讲解视频快速了解SnailJob。 视频还在持续的录制中欢迎点赞关注

douyidouyi

系统简介


snailjob

🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台

✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台
✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台

SnailJob 是一个灵活、可靠且高效的分布式任务重试和任务调度平台。其核心采用分区模式实现,具备高度可伸缩性和容错性的分布式系统。拥有完善的权限管理、强大的告警监控功能和友好的界面交互。欢迎大家接入并使用。

* 开源地址:
  • ⭕Aizuda/SnailJob 采用APACHE LICENSE 2.0 开源协议,您在使用过程中,需要注意以下几点:

⛔不得修改产品相关代码的源码头注释和出处;
⛔不得进行简单修改包装声称是自己的产品;
⛔ 不得应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法目的;


分布式重试模块

在分布式系统中,任务失败是不可避免的,可能由网络问题、服务故障等原因引起。 分布式重试 旨在帮助开发人员处理这些失败,确保任务能够在失败后正确重试,提升系统稳定性和可靠性。 高颜值、易用性的用户界面,方便开发人员配置任务的重试策略和调度规则。支持多种重试策略,如指数退避、固定间隔等,开发人员可根据业务需求选择最适合的策略。


分布式任务调度模块

是高性能的任务调度框架,无需依赖外部中间件即可实现秒级任务间隔调度。支持多种执行模式,如集群模式、广播模式和分片模式,同时提供多种阻塞策略,如丢弃、覆盖和并行,以提高任务执行效率。平台还提供监控和日志功能,帮助开发人员实时监控任务执行状态。

核心能力

开源组件对比

项目QuartzElastic-JobXXL-JOBPowerJobSnail Job
跨语言能力不支持不支持不支持不支持支持java(1.8/17)、原生Python客户端、原生Go客户端
定时调度CronCronCronCRON、固定频率、固定延迟、OpenAPI1. 定时任务 2. 秒级任务(无需依赖外部中间件) 3. 固定频率 4.OpenAPI
重试任务不支持不支持不支持不支持1.支持本地&远程重试模式
2.支持各种常用组件的重试 比如dubbo/feign
3.支持多种退避策略
4.丰富的重试风暴管控手段
......
任务编排不支持不支持不支持支持仿钉钉工作流设计,颜值高、体验好
分布式计算不支持静态分片广播支持1. 广播执行 2. 集群执行 3. 静态分片 4. 动态分片
多语言Java1. Java 2. 脚本任务1. Java 2. 脚本任务支持1. Java 2. CMD(本地脚本、远程脚本、参数传人) 3. PowerShell(本地脚本、远程脚本、参数传人) 3. Shell(本地脚本、远程脚本、参数传人) 4. HTTP任务
用户管理不支持支持支持不支持完备的用户管理和权限管理
安全 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接入成本低