08-定时任务调度选型
框架名称 | 官网 | 动态配置支持 | 高可用实现原理 | 任务分片支持 | Web控制台 | 易用性 | 文档完善程度 | 监控告警 | 优点 | 缺点 |
---|---|---|---|---|---|---|---|---|---|---|
Quartz | https://www.quartz-scheduler.org/ | 是 | 集群模式下通过数据库实现高可用 | 支持按时间、按日历、按Cron表达式等多种方式进行任务调度 | 否 | 一般 | 完善 | 无 | 可以与Spring集成,社区活跃 | 配置较为复杂,初学者不易上手 |
xxl-job |
https://www.xuxueli.com/xxl-job/ | 是 | 主节点动态选举实现高可用 | 支持分片广播、分片轮询等多种任务分片方式 | 是 | 易于使用,提供大量的API和可视化界面 | 完善 | 支持告警和监控 | 开源并且功能非常强大 | 项目相对年轻,文档略显不足 |
Elastic-Job | http://elasticjob.io/ | 是 | 利用Zookeeper实现高可用 | 支持多个作业实例分布式运行 | 是 | 易于集成和使用,提供完整的分布式任务解决方案 | 完善 | 提供多种监控和报警方式 | 具有良好的生态环境 | 代码不够简洁,架构较为复杂 |
Saturn | https://github.com/vipshop/Saturn | 是 | 利用Zookeeper实现高可用 | 支持多个Executor实例分布式运行 | 是 | 易于使用,提供Web界面、API等多种操作方式 | 文档齐备 | 可以与Spring集成 | 开源并且易于扩展 | 需要对Saturn的设计思路有所了解,学习曲线较陡 |
08-定时任务调度选型
https://janycode.github.io/2020/06/13/19_技术选型/08-定时任务调度选型/