兼容托管XXL-JOB任务

本文介绍在任务调度中托管XXL-JOB任务的两种方法,分别是使用XXLJOB版和SchedulerX版。针对XXL-JOB,我们强烈推荐使用高度兼容的XXLJOB实例版。

XXLJOB版

简介

任务调度XXLJOB实例版已经公测,该版本以SchedulerX为内核,兼容XXLJOB网络层协议,提供无侵入托管XXLJOB客户端的解决方案,我们强烈推荐新用户使用XXLJOB实例版,以便更好地体验我们的任务调度服务。

SchedulerX版

简介

通过在pom中引入schedulerx2-plugin-xxljob,兼容XXLJOB的SDK层接口。不需要修改一行代码,即可将XXLJOB客户端托管到任务调度SchedulerX上,支持@XxlJob新注解和JobHandler类接口方式。

功能优势

免运维和低成本

自建XXL-JOB至少需要2个服务器+1个数据库。托管XXL-JOB可以节省机器成本和人力运维成本。

兼容升级

XXL-JOB不同版本间存在不兼容,导致在升级SDK版本时,往往需要对业务代码进行重构以实现适配。而SchedulerX 2.0则展现出卓越的兼容性优势,它无缝对接XXL-JOB各版本接口与注解体系,确保用户在任何SDK升级过程中,无需对既有业务代码进行任何改动。

海量任务和精准调度

开源XXL-JOB基于分布式数据库锁保证只有一个节点执行任务,对于数据库有压力。据统计,当任务超过1万,且都是分钟级别的任务时,会有比较明显的调度延时。如果是秒级别任务,延时更加明显。

SchedulerX 2.0采用分布式架构,不同的Server调度不同的任务,且无锁竞争,实现水平扩展,可支持百万级别任务调度。针对秒级别任务低延时的特性,采用了专门的架构,占用资源极低,可以作为实时业务的秒级别调度场景。SchedulerX 2.0还支持一次性任务,可以指定某个时刻执行一次任务,执行完任务自动销毁,适用于定时通知、订单定时关闭等场景。

丰富的可视化能力

查看用户大盘

1

查看任务历史记录

2

查看用户运行日志

3

查看任务运行堆栈

4

查看任务操作记录

5

高级特性

任务编排

支持工作流(DAG)进行任务编排,可通过拖拽对前端进行操作。详细的任务状态图方便您了解下游任务执行失败的原因。

6

限流

常见场景为夜间离线报表业务。例如,很多报表任务是凌晨1点或者2点开始,需控制应用最大并发的任务数量(否则业务无法支撑),达到并发上限的任务会在队列中等待。若同时要求早上9点前必须完成KPI报表,可以设置KPI任务高优先级,高优先级任务会抢占低优先级任务,从而实现优先调度。

SchedulerX 2. 0支持可抢占的任务优先级队列,只需要在控制台配置即可。

7

资源隔离

支持命名空间和应用级别资源隔离,支持多租户权限管理。

商业化报警运维

报警

支持通过邮件、钉钉、短信或电话进行任务执行失败、超时和无可用机器报警通知。报警内容可以查看任务失败原因。

1

运维操作

支持原地程序运行、重刷数据、标记成功、查看堆栈、停止任务和指定机器等。

2