分布式定時任務解決方案-spring boot整合JMS以及Redis實現

來源:互聯網
上載者:User

最近需要設計一個分布式的定時任務的方案,從理論上來說,Quartz已經提供了一套完善的分布式定時任務的解決方案,但是由於系統目前已有JMS叢集和Redis Sentinel叢集,如果想要在目前已有的架構上,實現了一個簡單的分布式定時任務的話,如何來做了。總體架構設計圖如下:


redis叢集:提供分布式的緩衝,以及實現簡單的分布式鎖http://blog.csdn.net/liuchuanhong1/article/details/54668460

Node1~Node3節點:定時從資料庫中查詢需要執行的任務,由於查詢的結果是List,如果3個Node節點同時查庫,並將查詢的結果推送到中介軟體叢集中,那麼待執行的任務肯定是會重複的(分庫的話,另說)。換句話說,同一時間,只允許一個Node節點活動,沒有擷取到分布式鎖的節點則阻塞,直到擷取到鎖,同時避免出現單節點故障。

JMS叢集:解耦,Node節點會將從資料庫中查詢出的待處理任務推送到JMS對應的隊列中。

Execute Node節點:監聽JMS的隊列,並從隊列中取出待執行的任務,並非同步執行http://blog.csdn.net/liuchuanhong1/article/details/54603546

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.