目录
背景
为什么需要任务调度平台?
单机定时任务
Java中传统的定时任务实现方案,比如JDK 1.3 提供的 Timer、JDK 1.5 提供的 ScheduledExecutorService、Spring 3.0 提供的Spring Task
分布式定时任务
但如果一个系统为分布式部署,由多台主机组成,在某一时间只需要由一台主机运行定时任务,就需要一个分布式的调度框架来实现。
开源任务调度框架 Quartz 实现了这个功能。
但 Quartz 也存在一些问题:不支持集群、不支持统计、没有管理平台、没有失败报警、没有监控等等。
因此,xxl-job 应运而生:xxl-job 是一个开源的轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展、开箱即用,其中“XXL”是主要作者,大众点评许雪里名字的缩写。
整体来说,xxl-job 就是 quartz 的一个增强版,其弥补了quartz不支持并行调度,不支持失败处理策略和动态分片的策略等诸多不足,同时其有管理界面,开箱即用,操作简易,上手快,与SpringBoot 有非常好的集成.