🔥🔥🔥一款兼具 “高性能、高颜值、高活跃”的分布式任务调度与重试平台 1.2.0 发布
🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台
✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台 ✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台
生态
Snail Job 目前已经支持 Python、Jdk1.8 客户端、Jdk17 客户端,后续即将支持 Go 客户端,有兴趣的加群了解.
了解更多请加群 https://snailjob.opensnail.com/docs/group_chat.html
Go 客户端: https://gitee.com/opensnail/snail-job-go
Python 客户端: https://gitee.com/opensnail/snail-job-python
Jdk1.8 客户端: https://gitee.com/aizuda/snail-job/tree/client-jdk8
XXLJOB迁移工具:https://snailjob.opensnail.com/docs/guide/migration_tool.html
项目特性
-
易用性 业务接入成本小。避免依赖研发人员的技术水平,保障稳定性
-
灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的任务
-
操作简单 分钟上手,支持 WEB 页面对任务数据 CRUD 操作。
-
数据大盘 实时管控系统任务数据
-
分布式重试任务 支持多样化退避策略、多样化重试类型、流量管控等
-
分布式调度任务 提供丰富的任务触发策略、任务分片、停止恢复、失败重试等
-
工作流任务编排 仿钉钉设计的流程编排引擎,支持复杂的功能编排、失败重试、告警等
-
任务数据管理 可以做到数据不丢失、数据一键回放
-
容器化部署 服务端支持 docker 容器部署
-
高性能调度平台 支持服务端节点动态扩容和缩容
-
支持多样化的告警方式 邮箱、企业微信、钉钉、飞书、自定义告警
-
支持多种流行数据库 mysql、mariadb、sqlserver、oracle、postgres 数据库
开源组件对比
项目 | Quartz | Elastic-Job | XXL-JOB | PowerJob | Snail Job |
---|---|---|---|---|---|
跨语言能力 | 不支持 | 不支持 | 不支持 | 不支持 | 支持java(1.8/17)、Python、Go客户端(开发中) |
定时调度 | 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. 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接入成本低 |
更新日志
1. 定时、重试任务清除时间一小时改为四小时【优化】
2. 修复日志清除BUG【BUG】
3. 信创arm环境下Docker官方镜像无法运行的问题【BUG】
4. 升级依赖包消除 CVE【优化】
5. 修复工作流编排下的http内置执行器在请求头中透传上下文中value包含中文问题【BUG】
6. 客户端日志上报组件 org.apache.log4j.MDC修改为org.slf4j.MDC 【优化】
7. 新增OpenApi功能【新增】
8. 修复Sharding和Map方法修饰符错误【BUG】
9. 内置脚本执行器支持自定义编码;【优化】
10. 内置http执行器支持工作流任务在请求头中透传工作流上下文内容【优化】
11. 定时任务使用恢复阻塞策略时,只重新调用不成功的任务【优化】
12. 修复MapReduce模式Reduce、MergeReduce阶段异常更新工作流上下文 【BUG】
13. 去除工作流节点stop相关重复代码【优化】
14. 修复日志清除BUG【BUG】
15. 修复服务端生成channel并发问题【BUG】
16. 修复客户端分片参数为ShardingJobArgs时不生效问题【BUG】
17. 按 pgsql 数据库补齐 大金 Mapper.xml【BUG】
18. 删除日志的全局开关【优化】
19. 修复oracle任务状态变更偶发失败情况【优化】
20. 升级MP版本3.5.8【优化】
21. 修复客户端获取线程时的并发问题【BUG】
22. 添加snail-job的window启动脚本.【新增】
23. 添加snail-job启动Shell脚本【新增】
24. 批次状态查询支持多选【新增】
25. 新增人大金仓数据库【新增】
26. 优化mybatis xml的加载顺序, 支持多个id同时加载【优化】
27. docker-compose.yaml 更新达梦镜像【优化】
28. 增加工作流决策节点模拟上下文校验结果返回【新增】
29. 优化json转换失败的日志【优化】
30. 增加第一个及最后一个客户端路由功能【新增】
31. 增加路由缓存定期清理功能【新增】
32. 修复Map任务问题不能重试【BUG】
33. PaginationInnerInterceptor不制定 dbType,由 mp 自动管理,解决 Oracle 11g分页兼容问题。【优化】
34. 去除动态tablePrefix配置【优化】
35. 修复Map/MapReduce重试问题,及手动暂停相关逻辑【BUG】
36. 新增CMD、PowerShell、Shell、Http相关执行器【新增】
37. 修复oracle任务状态变更偶发失败情况【BUG】
38. 重构结果处理逻辑【优化】
39. 去除定时任务结果更新的分布式锁【优化】
40. map和map reduce支持配置参数全路径传递【新增】
41. 优化客户端线程池,当获取缓存线程池时才设置并行度【优化】
42. 添加任务执行时间【新增】
项目地址
方便的话给项目一个 star,你的支持是我们前进的动力!
先睹为快

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
logserver 2024-11-17 已经发布,简易的日志服务器
logserver 2024-11-17 已经发布,简易的日志服务器 此版本更新内容包括: 升级到light-4j-1.6.47和logback-classic-1.3.14 支持接收log4j2的日志:udp协议,json格式 <Socket name="SOCKET" host="localHost" port="6000" protocol="UDP"> <JSONLayout compact="true" properties="true" /> </Socket> 详情查看:https://gitee.com/xlongwei/logserver/releases/2024-11-17 询问AI
- 下一篇
GoFrame v2.8.0 发布:更高效、更强大,兼容性与性能全面提升
我们很高兴宣布GoFrame迎来了v2.8.0版本的发布! 本次更新带来了重要的改进和新特性,使GoFrame在开发效率、执行性能、稳定性和扩展性方面取得了显著提升。 版本亮点 兼容性更新 GoFrame v2.8.0要求最低Golang版本为1.20,提供更高效的性能和稳定性。 container/gring组件已被废弃,同时contrib/trace/jaeger组件从源码仓库移除,简化了依赖管理。 组件改进 database/gdb模块现在支持created_at/updated_at/deleted_at整型时间戳字段、unix socket连接、time/year字段类型,并增加了Model.Exist方法,显著提升了数据库操作的灵活性和效率。 util/gconv组件使用类型缓存提升转换性能,针对复杂数据类型的转换性能提升约300%。 net/ghttp和net/gudp网络服务组件优化了参数配置和请求处理逻辑,为用户提供更简洁的开发体验。 开发工具升级 gf init命令支持生成单仓多应用项目结构。 gf gen ctrl、gf gen dao和gf run等命令的优化...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Windows10,CentOS7,CentOS8安装Nodejs环境