xxl-job是一个可分布式任务执行框架,底层基于quartz做定时任务,优化了quartz的弊端。xxl-job将调度中心、任务中心、执行器分开部署,执行器部署与项目代码中,在执行器中添加注解@xxljob将每个方法对应调度中心中的简单任务模式、分片广播任务模式、命令行任务模式、跨平台http任务模式、生命周期任务模式。
xxl-job配置文件,配置多个ip链接到执行器所在的服务器,调度中心可以通过nginx部署实现高可用,同一个任务只会被一台调度中心调度,但任务延迟等原因任然会导致任务重复的问题,可以再调度中心设置路由策略。
故障转移策略:
只会在一台执行器上执行,当这台执行器出现故障后才会转移到其他执行器中执行。
轮询策略:
任务会在多个执行器上执行,任务是负载均衡。若某个执行器出现故障会自动转移到其他执行器上继续执行,这台故障执行器正常后又会继续执行任务。
分片广播策略:将大量数据分片执行,每个区域执行属于自己的片区的数据,减轻服务器压力。
xxl-job具有分片执行任务功能,quartz没有,xxl-job有任务台,quartz没有,xxl-job有监控告警功能