Quartz分佈式任務調度框架

分佈式任務調度

任務調度是指基於給定的時間點,給定的時間間隔或者給定執行次數自動的執行任務。任務調度涉及到多線程併發、運行時間規則定製及解析、線程池的維護等諸多方面的工做。多線程

總體來看分佈式任務調度,三個關鍵詞:分佈式、任務調度、配置中心。併發

分佈式:平臺是分佈式部署的,各個節點之間能夠無狀態和無限的水平擴展。分佈式

任務調度:涉及到任務狀態管理、任務調度請求的發送與接收、具體任務的分配、任務的具體執行;這裏又會遇到要處理哪些任務、任務要分配到哪些機器上處理、任務分發的時候判斷哪些機器能夠用等問題,因此又須要一個能夠感知整個集羣運行狀態的配置中心。spa

配置中心:能夠感知整個集羣的狀態、任務信息的註冊。線程

總體設計

image.png

整個調度系統簡單理解就是:Scheduler(任務調度器)將Job/JobDetail(如何作)和Trigger(什麼時間作與不作)打包成一個調度item進行調度,對過程當中的重要事件,開放Listener鉤子給業務用於實現事件處理,整個調度能夠採用在內存裏面(RAMJobStore)仍是持久化(JDBCJobStore)運做。設計

image.png

相關文章
相關標籤/搜索