首页 > 代码库 > Spring+quartz 实现定时任务job集群配置

Spring+quartz 实现定时任务job集群配置

 

为什么要有集群定时任务?

因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真实结果的3倍,那对银行来说是无法想象的,完全不可接受.

 

技术分享

 

集群定时任务工作原理

所以为了解决以上问题,每个server把将要及正在运行的job所有状态都即时同步到中央数据库,然后再次触发调用时从数据库中分析是否已有别的server正在运行相同job (同名同定时时间点的job属于相当job),如果相同job正在别的server运行,那么当前server忽略本次运行的job.

 

 

 

参考

Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群(强烈推荐)

quartz集群分布式(并发)部署解决方案-Spring

Spring中定时任务Quartz集群配置学习

Spring+Quartz 集群

spring结合Quartz的集群功能实现

spring+Quartz集群环境下配置详解 

 

Spring+quartz 实现定时任务job集群配置