兼容托管XXL-JOB任務
本文介紹在任務調度中托管XXL-JOB任務的兩種方法,分別是使用XXLJOB版和SchedulerX版。針對XXL-JOB,我們強烈推薦使用高度兼容的XXLJOB實例版。
XXLJOB版
簡介
任務調度XXLJOB實例版已經公測,該版本以SchedulerX為內核,兼容XXLJOB網絡層協議,提供無侵入托管XXLJOB客戶端的解決方案,我們強烈推薦新用戶使用XXLJOB實例版,以便更好地體驗我們的任務調度服務。
SchedulerX版
簡介
通過在pom中引入schedulerx2-plugin-xxljob,兼容XXLJOB的SDK層接口。不需要修改一行代碼,即可將XXLJOB客戶端托管到任務調度SchedulerX上,支持@XxlJob
新注解和JobHandler
類接口方式。
功能優勢
免運維和低成本
自建XXL-JOB至少需要2個服務器+1個數據庫。托管XXL-JOB可以節省機器成本和人力運維成本。
兼容升級
XXL-JOB不同版本間存在不兼容,導致在升級SDK版本時,往往需要對業務代碼進行重構以實現適配。而SchedulerX 2.0則展現出卓越的兼容性優勢,它無縫對接XXL-JOB各版本接口與注解體系,確保用戶在任何SDK升級過程中,無需對既有業務代碼進行任何改動。
海量任務和精準調度
開源XXL-JOB基于分布式數據庫鎖保證只有一個節點執行任務,對于數據庫有壓力。據統計,當任務超過1萬,且都是分鐘級別的任務時,會有比較明顯的調度延時。如果是秒級別任務,延時更加明顯。
SchedulerX 2.0采用分布式架構,不同的Server調度不同的任務,且無鎖競爭,實現水平擴展,可支持百萬級別任務調度。針對秒級別任務低延時的特性,采用了專門的架構,占用資源極低,可以作為實時業務的秒級別調度場景。SchedulerX 2.0還支持一次性任務,可以指定某個時刻執行一次任務,執行完任務自動銷毀,適用于定時通知、訂單定時關閉等場景。
豐富的可視化能力
查看用戶大盤
查看任務歷史記錄
查看用戶運行日志
查看任務運行堆棧
查看任務操作記錄
高級特性
任務編排
支持工作流(DAG)進行任務編排,可通過拖拽對前端進行操作。詳細的任務狀態圖方便您了解下游任務執行失敗的原因。
限流
常見場景為夜間離線報表業務。例如,很多報表任務是凌晨1點或者2點開始,需控制應用最大并發的任務數量(否則業務無法支撐),達到并發上限的任務會在隊列中等待。若同時要求早上9點前必須完成KPI報表,可以設置KPI任務高優先級,高優先級任務會搶占低優先級任務,從而實現優先調度。
SchedulerX 2. 0支持可搶占的任務優先級隊列,只需要在控制臺配置即可。
資源隔離
支持命名空間和應用級別資源隔離,支持多租戶權限管理。
商業化報警運維
報警
支持通過郵件、釘釘、短信或電話進行任務執行失敗、超時和無可用機器報警通知。報警內容可以查看任務失敗原因。
運維操作
支持原地程序運行、重刷數據、標記成功、查看堆棧、停止任務和指定機器等。