项目特性 (Project Features)
SnailJob 是一款具有"三高"特性的分布式任务调度和分布式重试平台
即: 🌡️ 高性能、🌡️ 高颜值、🌡️ 高活跃
核心特性
1. 易用性
SnailJob 注重用户体验,提供简单直观的操作界面和完善的学习资源。
- 快速接入:简单的配置即可完成系统搭建
- 完善文档:详细的文档帮助用户快速上手
- 视频教程:全流程视频讲解,沉浸式学习体验
- 友好界面:现代化的 UI 设计,操作简单直观
2. 高性能
采用先进的技术架构,确保系统的高性能和可扩展性。
- 多 Bucket 模式:借助负载均衡算法,确保节点均衡处理任务
- 无锁化设计:充分利用集群能力,实现高效调度
- 高性能通信:基于 Netty 的高性能通信框架
- 水平扩展:支持无限水平扩展,轻松应对海量任务
3. 安全性
多层次的安全措施,保护用户数据和系统安全。
- Token 验证:严格的客户端 Token 验证机制
- 权限管理:细粒度的权限控制,支持多租户
- 数据加密:敏感数据加密存储
- 访问控制:严格的访问控制策略
4. 分布式重试
提供完整的分布式重试解决方案,确保任务可靠执行。
- 数据持久化:支持数据固化和管理
- 重试风暴防护:完善的重试风暴管控机制
- 风险管控:
- 多样化退避策略
- 多样化重试类型
- 流量管控
- 丰富注解:满足日常开发需求
- 告警机制:
- 场景重试数量阈值告警
- 场景重试失败数量阈值告警
- 任务重试次数阈值告警
- 死信队列告警
5. 分布式调度
高性能的分布式任务调度框架,支持多种调度模式。
- 任务编排:
- 仿钉钉工作流引擎设计
- 良好的用户体验
- 精美的界面
- 简便直观的操作
- 执行模式:
- 集群模式
- 广播模式
- 分片模式
- 动态分片(开发中)
- 调度方式:
- 定时调度
- 手动触发
- 依赖调度(工作流编排)
- 失败处理:
- FailOver 支持
- 可视化配置
- 客户端执行失败重试
- 阻塞策略:
- 丢弃
- 覆盖
- 并行
- 监控告警:
- 完善的监控指标
- 多渠道告警通知
- 实时日志:支持调度日志实时查看
6. 扩展功能
- 告警通知:
- 邮箱
- 企业微信
- 钉钉
- 飞书
- Webhook
- 数据大盘:
- 实时系统执行数据
- 任务汇总统计
- 部署支持:
- 数据库自动安装脚本
- Docker 容器部署
- 用户管理:
- 用户权限控制
- 多租户支持
总结
SnailJob 通过以上特性,为用户提供了一个功能强大、性能卓越、安全可靠的分布式任务调度和重试平台。我们将持续优化和改进,以满足用户不断变化的需求。
感谢您的关注,期待您的使用和反馈!