在企業級應用中,常常需要執行數據定時處理、文件處理、報表生成等定時任務,并且對任務配置和執行率有較高要求。阿里云的分布式任務調度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 和開源自建比對。