我是一段不羁的公告!
记得给艿艿这 3 个项目加油,添加一个 STAR 噢。
https://github.com/YunaiV/SpringBoot-Labs
https://github.com/YunaiV/onemall
https://github.com/YunaiV/ruoyi-vue-pro

精尽任务调度学习指南

目前来说,任务调度系统,主流的有三种技术选型:

  • 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 ,觉得基本能满足自己的诉求,就目前主要用了是这个。

推荐阅读文章:

1. Quartz

2. Elastic Job

3. XXL-Job

文档比较健全,可以直接看 http://www.xuxueli.com/xxl-job/

后续艿艿如果找到视频,会进行补充~

总访客数 && 总访问量