什么是分布式任务调度

在企业级应用中,常常需要执行数据定时处理、文件处理、报表生成等定时任务,并且对任务配置和执行率有较高要求。阿里云的分布式任务调度SchedulerX和开源解决方案XXL-JOB都提供强大的调度能力,本文为您介绍任务调度SchedulerX和XXL-JOB版的基本信息,帮助您选择合适的任务调度版本。

如何选择分布式任务调度SchedulerX和XXL-JOB版

SchedulerX版是阿里云自研的分布式任务调度平台,使用自研的编程框架和通信协议,支持丰富的任务类型,兼容主流开源任务调度客户端接入(需要替换SDK)。XXLJOB版是以SchedulerX为内核,兼容开源通信协议来托管XXLJOB客户端的解决方案,无侵入接入。两者的区别在于:

  • 接入方式不同:SchedulerX版兼容开源XXL-JOB,但需要修改客户端SDK;而XXL-JOB版不需要变更代码,只需在重新部署应用时通过-D参数替换接入配置即可。

  • 计费方式不同:SchedulerX版是Serverless版本,按任务数和调度次数收费;而XXL-JOB版是实例版,按申请的规格资源收费。

  • 应用部署在公网:只能选择SchedulerX版,XXL-JOB版不支持公网访问。

  • 非Java/Go应用:选择SchedulerX版,XXLJOB版仅支持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版支持如下功能:

  • 定时任务调度:支持定时任务的创建、管理和调度。

  • 限流控制:支持任务并发控制和应用级限流,能够限制单个任务同一时间最多运行的实例数,以及控制单个应用下同时运行的任务数。

  • 迁移上云:提供迁移工具将自建XXLJOB所有任务平滑迁移到云上版本。

  • 任务监控和报警:提供全面的监控指标,丰富的报警方式,便于运维人员快速定位和解决线上问题。

开始体验分布式任务调度

相关文档