解決方案 分布式定時任務解決方案

2022-02-06 14:47:57 字數 529 閱讀 9517

服務有定時任務,當服務部署到多個節點時,每個節點在同乙個時間點都會執行相同的定時任務,需要做的是,讓同乙個時間點,每乙個定時任務只在乙個節點上執行。

3.1 方案一:單獨設定任務排程服務

任務排程服務部署在單結點,定時任務以http請求的方式去向閘道器呼叫任務請求,閘道器將請求分發到集群中的某乙個節點,某乙個節點執行任務。

3.2 方案二:使用redis實現

每個定時任務都在redis中設定乙個key-value,key為自定義的每個定時任務的名字(如task1:redis:lock),value為伺服器ip,同時設定合適的過期時間(例如設定為5min)。

每個節點在執行時,都要進行以下操作:

1、使用xxl-job實現

分布式任務排程平台xxl-job 官網文件

[1]: xxl-job 官網文件位址

分布式定時任務秒級排程解決方案

基於排程平台已存在的基本功能,在業務系統使用排程表 快取等方案,解決資料併發 實時性等問題。1.業務系統使用排程表控制併發,排程平台會到排程表取需要執行的任務,取到任務之後更新任務表該條任務的狀態,防止任務併發執行,處理完成之後將狀態更新到處理狀態。2.任務執行不跳出,對於實時性要求較高的任務,等待...

定時任務解決方案 SpringTask

spring3.0以後自主開發的定時任務工具,spring task,可以將它比作乙個輕量級的 quartz,而且使用起來很簡單,除spring相關的包外不需要額外的包,而且支援註解和 配置檔案兩種形式。spring task.xsd xmlns task task annotation drive...

分布式事務解決方案

一 結合mq訊息中介軟體實現的可靠訊息最終一致性 二 tcc補償性事務解決 三 最大努力通知型方案 第一種方案 可靠訊息最終一致性,需要業務系統結合mq訊息中介軟體實現,在實現過程中需要保證訊息的成功傳送及成功消費。即需要通過業務系統控制mq的訊息狀態 第二種方案 tcc補償性,分為三個階段tryi...