在企業級應用中,常常需要執行資料定時處理、檔案處理、報表產生等定時任務,並且對任務配置和執行率有較高要求。阿里雲的分布式任務調度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.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任務。
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執行個體計費說明。
關於SchedulerX與開源產品的對比,請參見MSE SchedulerX 和開源自建對比。