quartz框架
1、需要把任务信息持久化到业务数据表,和业务有耦合
2、调度逻辑和执行逻辑并存于同一个项目中,在机器性能固定的情况下,业务和调度之间不可避免地会相互影响
3、quartz集群模式下,是通过数据库独占锁来唯一获取任务,任务执行并没有实现完善的负载均衡机制
4、调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任务数量逐渐增多,同时调度任务逻辑逐渐加重的情况下,此时调度系统的性能将大大受限于业务
5、quartz底层以“抢占式”获取DB锁并由抢占成功节点负责运行任务,会导致节点负载悬殊非常大;而XXL-JOB通过执行器实现“协同分配式”运行任务,充分发挥集群优势,负载各节点均衡
xxl-job框架
a.业务逻辑与定时任务逻辑放入在同一个Jar包中,如果定时任务逻辑挂了也会影响到业务逻辑
b.如果服务器集群的情况下,可能存在定时任务逻辑会重复触发执行
c.当任务量很大的时候,传统任务调度不支持任务拆分,无法快速执行完毕
d. 定时任务非常占用服务器的内存,不管用什么框架,底层肯定是一个while死循环