HTTP類型任務通過HTTP/HTTPS協議調度執行任務,無需接入SDK,即可實現跨語言、跨平台的任務調度。支援Kubernetes環境接入與非Kubernetes環境接入兩種接入方式。
前提條件
如當前引擎版本低於2.3.0,需升級至2.3.0及以上版本。
升級過程執行個體將發生重啟。
優勢
存量業務零改造接入。
多語言統一解決方案。
支援AI Agent和工作流程情境。
HTTP任務接入方式
Kubernetes環境接入
Kubernetes環境接入是指將Kubernetes叢集中的Service與應用進行綁定,以支援HTTP任務的調度。綁定完成後,該應用下的所有任務可共用對應Service關聯的Pod資源。
當使用者在應用中配置K8s Service後,調度中心會自動擷取相關Pod執行個體資訊。任務配置時僅需指定HTTP請求路徑,無需設定具體Pod地址。在定時觸發執行時,調度中心依據預設的路由策略向目標Pod發送HTTP請求。任務執行結果將被記錄,並推送至SLS日誌系統,便於後續查看與分析。
調度中心通過服務發現線程周期性檢測Pod的擴縮容事件及異常狀態,自動將最新的Pod執行個體資訊同步至Pod管理器,實現對Pod叢集的動態監控與狀態維護。
Pod管理器負責維護Pod的網路地址與健康狀態,並支援多種任務路由策略。除單一實例路由外,還提供廣播分區路由模式,在觸發一次任務時,可向目標服務下的所有Pod執行個體廣播請求。調度中心在HTTP要求標頭中注入分區上下文資訊(包括分區索引、分區總數等參數),以支援使用者在任務執行過程中進行細粒度的邏輯控制與資料劃分。
非Kubernetes環境接入
在非Kubernetes環境中,通過在應用程式層面配置HTTP目標網域名稱,實現應用級的統一網域名稱管理與路由策略控制。當應用綁定多個網域名稱後,其下屬所有任務將共用這些網域名稱配置。
使用者在應用程式層級進行網域名稱綁定,調度中心通過網域名稱管理器維護網域名稱資訊。任務建立時僅需配置請求路徑,無需指定網域名稱。任務觸發時,調度中心依據預設的路由策略自動選擇合適的網域名稱,並將請求發送至網關。網關完成鑒權、流量控制及負載平衡等處理後,轉寄請求至目標服務,執行結果最終同步至SLSLog Service。
網域名稱管理器負責維護網域名稱資訊,支援網域名稱的添加、刪除、修改操作及標籤路由配置,可根據業務標籤實現流量分發,並支援多種路由策略,以滿足不同的調度與負載平衡需求。
接入方式對比
對比維度 | Kubernetes環境:通過Service接入 | 非Kubernetes環境:通過網關接入 |
接入模式 | 基於Kubernetes Service直接存取後端Pod執行個體 | 通過統一網關代理請求,轉寄至目標網域名稱服務 (DNS) |
服務發現機制 | 主動監聽Endpoint變化,動態維護Pod列表 | 不支援服務發現,不感知後端節點狀態 |
執行目標粒度 | 可調度到具體Pod IP和連接埠,實現點對點直連調用 | 請求發送至網關,由網關完成內部負載平衡和執行個體路由,調度中心無法感知真實後端節點 |
路由策略 | 支援單一實例路由策略和廣播分區 | 不支援路由策略,使用網關的路由策略 |
廣播分區 | 原生支援廣播分區模式,適用於大規模並行批處理情境 | 不支援廣播分區,所有任務均為單點執行,無法實現跨節點協同處理 |
健康狀態管理 | 即時同步Endpoint狀態,自動剔除未就緒或已終止的Pod | 依賴使用者手動維護網域名稱可用性 |
擴充性與靈活性 | 適配雲原生環境,支援Auto Scaling、滾動發布等情境 | 更適合傳統架構或異構系統整合,相容性強,易於與現有網關體系對接 |
應用情境 | 容器化微服務、跑批作業分區執行、高並發定時任務 | 非容器環境、混合部署架構、遺留系統接入、需統一網關治理的企業級API調度 |
接入步驟
登入MSE XXL-JOB控制台,並在頂部功能表列選擇地區。
在左側導覽列,選擇任務調度 > XXL-JOB版。
單擊進入目標執行個體,在左側導覽列的應用管理,然後單擊建立應用,應用類型選擇Http應用,然後單擊確定。
接入HTTP執行器,具體步驟參見HTTP應用接入執行器。
在左側導覽列選擇任務管理,然後單擊建立任務,關聯應用選擇步驟3建立的應用,任務類型選擇HTTP。您還可以根據業務需要填寫任務描述、優先順序、任務權重以及輸入參數(支援JSON格式)等資訊。
配置HTTP任務的請求網域名稱、Path、請求方式、逾時時間。其中請求方式支援選擇GET、POST等HTTP方法,逾時時間以秒為單位。
配置HTTP任務的請求參數,根據需求填寫Header、Query、Body。其中Body支援form-data、x-www-form-urlencoded、raw-json三種資料格式,可通過+添加按鈕新增多組參數。
配置HTTP任務響應定義,包括成功響應解析模式與成功結果解析模式,解析模式提供響應碼、響應體與響應Body三種解析類型。例如,選擇HTTP響應碼作為解析模式時,需在HTTP響應碼欄位填寫預期的響應碼值(如200)作為成功判定條件。
配置HTTP任務的失敗重試,包括失敗重試次數、稍候再試時間。當失敗重試次數大於0,即任務失敗後需要進行重試時,還可配置重試網域名稱和介面Path,使任務失敗後請求該網域名稱和Path。其中任務失敗稍候再試以秒為單位。
HTTP工作要求頭
MSE-XXLJOB在執行HTTP任務時,會向請求Header中添加以下系統參數:
名稱 | 含義 | 樣本值 |
schedulerx-appId | 應用ID | 12 |
schedulerx-jobId | 任務ID | 35 |
schedulerx-jobName | 任務名稱 | http-test-job |
schedulerx-scheduleTimestamp | 調度時間戳記(毫秒) | 1760164985000 |
schedulerx-dataTimestamp | 資料時間(毫秒) | 1760164980000 |
schedulerx-user | 使用者資訊 | 1344371792 |
schedulerx-maxAttempt | 最大重試次數 | 3 |
schedulerx-attempt | 當前重試次數 | 1 |
schedulerx-jobExecutionId | 任務執行ID | 1417474640397221891 |
schedulerx-logId | 分區ID(廣播分區) | 1417474640531439619 |
schedulerx-shardingIndex | 分區序號(廣播分區) | 0 |
schedulerx-shardingTotal | 分區總數(廣播分區) | 3 |