在企业级应用中,常常需要执行数据定时处理、文件处理、报表生成等定时任务,并且对任务配置和执行率有较高要求。阿里云的分布式任务调度SchedulerX和开源解决方案XXL-JOB都提供强大的调度能力,本文为您介绍任务调度SchedulerX和XXL-JOB版的基本信息,帮助您选择合适的任务调度版本。
如何选择分布式任务调度SchedulerX和XXL-JOB版
SchedulerX版是阿里云自研的分布式任务调度平台,使用自研的编程框架和通信协议,支持丰富的任务类型,兼容主流开源任务调度客户端接入(需要替换SDK)。XXL-JOB版是以SchedulerX为内核,兼容开源通信协议来托管XXL-JOB客户端的解决方案,无侵入接入。两者的区别在于:
接入方式不同:SchedulerX版兼容开源XXL-JOB,但需要修改客户端SDK;而XXL-JOB版不需要变更代码,只需在重新部署应用时通过-D参数替换接入配置即可。
计费方式不同:SchedulerX版是Serverless版本,按任务数和调度次数收费;而XXL-JOB版是实例版,按申请的规格资源收费。
应用部署在公网:只能选择SchedulerX版,XXL-JOB版不支持公网访问。
非Java/Go应用:选择SchedulerX版,XXL-JOB版仅支持Java/Go SDK接入。SchedulerX版还支持脚本任务、HTTP任务和K8s任务。
为什么选择阿里云分布式任务调度
高可用:采用高可用架构和任务多备份机制,经历阿里集团多年双十一、容灾演练,确保任务在节点故障时能够自动切换和恢复。
高性能:支持秒级别调度,轻量级分布式计算可以帮助您完成准实时的大数据跑批。
安全防护:提供多层次安全防护、多租户隔离机制,支持权限管控,基于阿里云的多层安全防护,有效防止恶意攻击。
免运维、低成本:无机器和人工运维成本,接入简单便捷。
开箱即用:100%兼容开源XXL-JOB,支持2.2.x至2.4.x所有版本,并提供迁移工具,支持一键将自建XXL-JOB任务导入云上,无需代码改造,实现平滑迁移。
开源增强:以阿里云SchedulerX为内核,提供比开源更强的定时调度、限流控制、运维操作等。
功能特性
通过分布式任务调度平台可以管理定时调度任务、查询任务执行记录和运行日志等。
任务调度SchedulerX
任务调度SchedulerX支持如下功能:
管理定时调度任务:支持定时任务、延迟任务、周期性任务等。
工作流编排:支持可视化的工作流编排,简化任务依赖管理。
支持多种调度任务类型:在定时调度和工作流调度中支持基于多语言的多种任务类型。
Java
针对Java应用,依赖Java SDK接入,运行Java应用中的某个方法。更多信息,请参见Java任务。
脚本任务
在线编写脚本运行,支持Shell、Python等脚本。更多信息,请参见脚本任务。
Golang
针对Go应用依赖Go SDK接入,运行Go应用中的某个任务。更多信息,请参见Golang任务。
XXL-JOB
兼容xxl-job任务,无需修改代码即可托管xxl-job任务。更多信息,请参见XxlJob任务。
DataWorks
集成阿里云DataWorks任务,可以在工作流中引入DataWorks任务和其他任务做编排。更多信息,请参见DataWorks任务。
Spring
兼容Spring @Scheduled注解,无需修改代码即可托管Spring定时任务。更多信息,请参见Spring任务。
Http
http serverless:无需接入客户端,通过暴露一个公网域名来进行任务调度。更多信息,请参见HTTP任务(Serverless)。
http agent:需要在VPC集群内接入一个schedulerxAgent,可以通过内部域名或者IP来调度。
K8s
支持K8s脚本任务,也兼容原生K8s Job、Cron Job。更多信息,请参见K8s任务。
分布式计算:提供简单、易用的分布式编程模型,支持大数据批处理。
任务监控和报警:提供全面的监控指标,丰富的报警方式,便于运维人员快速定位和解决线上问题。
任务调度XXL-JOB
任务调度XXL-JOB版支持如下功能:
定时任务调度:支持定时任务的创建、管理和调度。
限流控制:支持任务并发控制和应用级限流,能够限制单个任务同一时间最多运行的实例数,以及控制单个应用下同时运行的任务数。
迁移上云:提供迁移工具将自建XXL-JOB所有任务平滑迁移到云上版本。
任务监控和报警:提供全面的监控指标,丰富的报警方式,便于运维人员快速定位和解决线上问题。
开始体验分布式任务调度
如果您想了解如何将客户端应用接入SchedulerX,请参见客户端快速接入SchedulerX。
如果您想快速体验分布式任务调度SchedulerX,请参见在指定主机上执行Shell脚本定时任务。
如果您想快速体验如何将应用接入分布式任务调度XXL-JOB版,请参见10分钟快速体验XXL-JOB。
如果您想了解从0搭建Java应用并快速接入调度平台XXL-JOB版,请参见从0搭建Java/Golang应用并接入XXL-JOB。
相关文档
关于任务调度XXL-JOB的版本选型和计费,请参见任务调度XXL-JOB版本选型和计费。
关于XXL-JOB与开源产品的对比,请参见XXL-JOB与开源产品对比。
关于分布式任务调度SchedulerX的计费,请参见计费概述。
关于SchedulerX与开源产品的对比,请参见MSE SchedulerX 和开源自建比对。