🔥🔥🔥一款兼具 “高性能、高颜值、高活跃”的分布式任务调度与重试平台 1.2.0-beta1 发布
🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台
✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台 ✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台
号外
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
项目特性
-
易用性 业务接入成本小。避免依赖研发人员的技术水平,保障稳定性
-
灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的任务
-
操作简单 分钟上手,支持 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. 脚本任务 (CMD/POWERSHELL/SHELL) 3. 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. 优化mybatis xml的加载顺序, 支持多个id同时加载【优化】
3. docker-compose.yaml 更新达梦镜像【优化】
4. 增加工作流决策节点模拟上下文校验结果返回【新增】
5. 优化json转换失败的日志【优化】
6. 增加第一个及最后一个客户端路由功能【新增】
7. 增加路由缓存定期清理功能【新增】
8. 修复Map任务问题不能重试【BUG】
9. PaginationInnerInterceptor不制定 dbType,由 mp 自动管理,解决 Oracle 11g分页兼容问题。【优化】
10. 去除动态tablePrefix配置【优化】
11. 修复Map/MapReduce重试问题,及手动暂停相关逻辑【BUG】
12. 新增CMD、PowerShell、Shell、Http相关执行器【新增】
13. 修复oracle任务状态变更偶发失败情况【BUG】
14. 重构结果处理逻辑【优化】
15. 去除定时任务结果更新的分布式锁【优化】
16. map和map reduce支持配置参数全路径传递【新增】
17. 优化客户端线程池,当获取缓存线程池时才设置并行度【优化】
18. 添加任务执行时间【新增】
参与者设计开发人员名单
1. https://gitee.com/xlsea
2. https://gitee.com/xiaowoniu168
3. https://gitee.com/dhb52
4. https://gitee.com/srzou
核心功能
项目地址
方便的话给项目一个 star,你的支持是我们前进的动力!
先睹为快

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
🎉 降低 DDD 实践成本 | Wow 3.12.6 发布
领域驱动|事件驱动|测试驱动|声明式设计|响应式编程|命令查询职责分离|事件溯源 官方文档:https://wow.ahoo.me/ 更新内容 特性(query): 支持或非(NOR)逻辑运算符。 依赖(dashboard): 更新typescript到~5.5.0。 依赖(opentelemetry): 更新io.opentelemetry:opentelemetry-bom到1.42.0。 依赖(build): 更新detekt到1.23.7。 依赖(dashboard): 更新jasmine-core到~5.3.0。 QueryDsl condition { deleted(false) and { tenantId("tenantId") all() } nor { all() } id("id") ids("id", "id2") "field1" eq "value1" "field2" ne "value2" "filed3" gt 1 "field4" lt 1 "field5" gte 1 "field6" lte 1 "fiel...
- 下一篇
Jdao v2.1.0: 如何构建更高效灵活的动态 SQL
在复杂应用环境中,数据访问层的设计不仅需要高效,还需要具备灵活性。为了满足对数据库操作的高性能与灵活需求,Jdao提供了全面的持久层解决方案。 Jdao 是Java持久层框架,它结合了Hibernate的抽象性和MyBatis的灵活性。它解决Hibernate和MyBatis的痛点,如过度封装、复杂配置以及SQL维护的挑战。它既适合小型项目,也能胜任大型企业应用,帮助团队在不同场景中灵活应对持久层开发需求 在版本 v2.1.0 中,Jdao特别加强了动态SQL的构建功能,使其更加高效和灵活。本文重点介绍Jdao v2.1.0中动态SQL功能,并展示如何利用这些新特性来构建更高效的数据库操作。 动态SQL的重要性及Jdao的动态SQL简介 动态SQL允许根据不同的条件或需求动态地生成SQL语句,这对于处理那些条件时有时无、逻辑复杂多变的场景尤为重要。在Jdao中,动态SQL的实现不仅提高了代码的灵活性和可维护性,还增强了SQL语句的安全性,避免了SQL注入等风险。 jdao提供了3种方式构建动态SQL 实体类构建动态 SQL XML 映射动态SQL标签 SqlBuilder 基于java...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启