分布式任务调度SchedulerX:XxlJob任务
SchedulerX2.0兼容XXL-JOB任务接口,支持@XxlJob新注解和@JobHandler老注解方式,您不需要修改代码,即可将XXL-JOB任务在SchedulerX2.0平台上进行调度。
XXL-JOB是一个开箱即用的轻量级分布式任务调度系统,其核心设计目标是开发迅速、学习简单、轻量级、易扩展,在开源社区广泛流行,已在多家公司投入使用。XXL-JOB开源协议采用的是GPL,因此云厂商无法直接商业化托管该产品,各大中小企业需要自建,增加了学习成本、机器成本、人工运维成本。阿里巴巴商业化任务调度平台SchedulerX2.0兼容XXL-JOB任务接口,您不需要修改一行代码,即可将XXL-JOB任务在SchedulerX2.0平台上托管。
采用托管的XXL-JOB有以下优势:
与开源XXL-JOB的区别入如下表所示。
功能
开源XXL-JOB
SchedulerX为底座的XXL-JOB任务
Java任务
Go任务
脚本任务
HTTP任务
单机
分片广播
MapReduce模型
路由策略
第一个、最后一个、轮询、随机等
轮询
定时
cron
cron、fixed_rate、fixed_delay、one_time
工作流
运维操作
运行一次、停止运行
运行一次、停止运行、原地重跑、重刷数据、标记成功
日志查询
日志存在executor本地,机器挂了日志丢失
日志存储在阿里云日志服务,保留最近2周,支持搜索
可观测
历史记录、运行大盘
历史记录、运行大盘、操作记录、查看堆栈、链路追踪
报警监控
邮件
高可用及容灾
需要自己维护数据库和Server的容灾
默认支持同城多机房容灾
用户权限
优雅下线
全链路灰度
限流
参考开源XXL-JOB-executor-sample-springboot工程,创建方法任务,示例代码如下:
/***简单任务示例(Bean模式)*/@XxlJob("demoJobHandler")publicReturnT
@JobHandler(value="HelloJobHandler")@ComponentpublicclassHelloJobHandlerextendsIJobHandler{@OverridepublicReturnT
/***分片广播任务*/@XxlJob("shardingJobHandler")publicReturnT