一、什么是XXL-JOB?
XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
二、Java主流三大定时器技术选型
选型时原则:少服务器 后期维护方便 增加任务省事而且快捷 不涉及启停服务
1、Quartz
优点:支持集群部署
缺点:没有自带的管理界面;调度逻辑和执行任务耦合在一起;维护需要重启服务
总结:针对目前项目情况,利弊相同
2、xxl-job
优点:支持集群部署;提供运维界面维护成本小;自带错误预警;相对elastic-job来说不需要额外的组件(zookeeper);支持调度策略;支持分片;文档齐全
缺点:相对Quartz来说需要多部署调度中心
总结:针对目前项目情况,利大于弊
3、elastic-job
优点:支持集群部署;维护成本小
缺点:elastic-job需要zookeeper,zookeeper集群高可用至少需要三台服务器
总结:针对目前项目情况,弊大于利
小结:综合选型原则及三个定时任务框架的优缺点和目前项目的状况,建议选用xxl-job。
三、XXL-JOB的一些特性:
-
1、执行失败可以查看日志
-
2、支持邮件报警
-
3、路由策略支持轮询等策略,可以减轻执行服务器的压力
-
4、轮询时间等参数修改后立即生效
-
5、执行器有问题或新增,快速识别
-
6、调度中心高可用,调度中心可以集群部署(集群部署的机器时钟必须同步),如果调度中心没有做负载在执行器的配置中需要配多个地址,如果调度中心配置负载则执行器配置负载地址即可
-
7、执行器高可用(执行器可以集群部署)