|
|
@ -648,9 +648,12 @@ XXL-JOB首先定制了Quartz原生表结构前缀(XXL_JOB_QRTZ_)。
|
|
|
|
### 5.4 调度模块剖析
|
|
|
|
### 5.4 调度模块剖析
|
|
|
|
#### 5.4.1 quartz的不足
|
|
|
|
#### 5.4.1 quartz的不足
|
|
|
|
Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:
|
|
|
|
Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:
|
|
|
|
- 问题一:调用API的的方式操作任务,不人性化;
|
|
|
|
|
|
|
|
- 问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。
|
|
|
|
- 问题一:调用API的的方式操作任务,不人性化;
|
|
|
|
- 问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任务数量逐渐增多,同时调度任务逻辑逐渐加重的情况加,此时调度系统的性能将大大受限于业务;
|
|
|
|
- 问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。
|
|
|
|
|
|
|
|
- 问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任务数量逐渐增多,同时调度任务逻辑逐渐加重的情况加,此时调度系统的性能将大大受限于业务;
|
|
|
|
|
|
|
|
- 问题四:quartz底层以“抢占式”获取DB锁并由抢占成功节点负责运行任务,会导致节点负载悬殊非常大;而XXL-JOB通过执行器实现“协同分配式”运行任务,充分发挥集群优势,负载各节点均衡。
|
|
|
|
|
|
|
|
|
|
|
|
XXL-JOB弥补了quartz的上述不足之处。
|
|
|
|
XXL-JOB弥补了quartz的上述不足之处。
|
|
|
|
|
|
|
|
|
|
|
|
#### 5.4.2 RemoteHttpJobBean
|
|
|
|
#### 5.4.2 RemoteHttpJobBean
|
|
|
|