49 lines
2.3 KiB
Markdown
49 lines
2.3 KiB
Markdown
# 精尽任务调度学习指南
|
||
|
||
目前来说,任务调度系统,主流的有三种技术选型:
|
||
|
||
- Quartz
|
||
- Elastic Job
|
||
- XXL-Job
|
||
|
||
它们的大体关系是:
|
||
|
||
- Quartz 可以单独使用,通过 MySQL 实现高可用。
|
||
- Quartz 也被 Elastic Job、XXL-Job 进行封装,形成分布式调度系统。也就是说,三种技术选型,调度的内核都是 Quartz 。
|
||
- Elastic Job 是去中心化的任务调度方案,XXL-Job 是中心化的任务调度方案。
|
||
- 从易用性上来说,XXL-Job > Elastic Job 。相比来说,Elastic Job 的运维会更困难一些。
|
||
- 从性能上来说,Elastic Job > XXL-Job 。因为其去中心化,所以不会因为中心调度节点,形成性能瓶颈。当然,大多数情况下,基本能满足我们的业务场景需要。毕竟,大厂公司居少。
|
||
|
||
从学习的角度,三者都可以看看,花不了多少时间。
|
||
|
||
艿艿自己的话,采用过的方案:
|
||
|
||
- 1. 最早使用 Quartz + MySQL ,然后自己二次封装了一些运维需要的功能。因为 Quartz 不提供运维的功能,例如说暂停任务,立即执行一次任务,任务的执行监控等等。
|
||
- 1. 后来,调研了下 Elastic Job ,也深入了研究了源码,考虑到体量,暂时就没用。
|
||
- 1. 再后来,看了下 XXL-Job ,觉得基本能满足自己的诉求,就目前主要用了是这个。
|
||
|
||
推荐阅读文章:
|
||
|
||
- 芋艿 [《芋道 Spring Boot 定时任务入门》](http://www.iocoder.cn/Spring-Boot/Job/?vip) 对应 [lab-28](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-28) 。
|
||
- 芋艿 [《芋道 XXL-JOB 安装部署》](http://www.iocoder.cn/XXL-JOB/install/?vip)
|
||
- [《芋道 Spring Boot 异步任务入门》](http://www.iocoder.cn/Spring-Boot/Async-Job/?vip) 对应 [lab-29](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-29) 。
|
||
|
||
# 1. Quartz
|
||
|
||
- [《Quartz 视频教程全集》](https://www.bilibili.com/video/av59632817/?pikaqiu)
|
||
|
||
> **推荐~记得 b 站【收藏 + 点赞 + 投币】素质三连噢**。
|
||
>
|
||
> 一共 21P ,3 个小时多。
|
||
|
||
# 2. Elastic Job
|
||
|
||
- [《Elastic Job 视频教程全集》](https://www.bilibili.com/video/av59632516/?pikaqiu)
|
||
|
||
> **推荐~记得 b 站【收藏 + 点赞 + 投币】素质三连噢**。
|
||
>
|
||
> 一共 7P ,1 个小时多。
|
||
|
||
# 3. XXL-Job
|
||
|
||
文档比较健全,可以直接看 http://www.xuxueli.com/xxl-job/ 。 |