1. 程式人生 > >Quartz分散式任務排程框架

Quartz分散式任務排程框架

分散式任務排程

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

整體來看分散式任務排程,三個關鍵詞:分散式、任務排程、配置中心。

分散式:平臺是分散式部署的,各個節點之間可以無狀態和無限的水平擴充套件。

任務排程:涉及到任務狀態管理、任務排程請求的傳送與接收、具體任務的分配、任務的具體執行;這裡又會遇到要處理哪些任務、任務要分配到哪些機器上處理、任務分發的時候判斷哪些機器可以用等問題,所以又需要一個可以感知整個叢集執行狀態的配置中心。

配置中心:可以感知整個叢集的狀態、任務資訊的註冊。

整體設計

image.png

整個排程系統簡單理解就是:Scheduler(任務排程器)將Job/JobDetail(如何做)和Trigger(什麼時間做與不做)打包成一個排程item進行排程,對過程中的重要事件,開放Listener鉤子給業務用於實現事件處理,整個排程可以採用在記憶體裡面(RAMJobStore)還是持久化(JDBCJobStore)運作。

image.png

相關推薦

Quartz分散式任務排程框架

分散式任務排程 任務排程是指基於給定的時間點,給定的時間間隔或者給定執行次數自動的執行任務。任務排程涉及到多執行緒併發、執行時

LTS原理--輕量級分散式任務排程框架(Light Task Schedule)(一)

LTS(light-task-scheduler)主要用於解決分散式任務排程問題,支援實時任務,定時任務和Cron任務。有較好的伸縮性,擴充套件性,健壯穩定性而被多家公司使用,同時也希望開源愛好者一起貢獻。 專案地址 這兩個地址都會同步更新。感興趣,請加Q

【stark_summer的專欄 】專注於開發分散式任務排程框架分散式同步RPC、非同步MQ訊息佇列、分散式日誌檢索框架、hadoop、spark、scala等技術 如果我的寫的文章能對您有幫助,請您能給點捐助,請看首頁置頂

專注於開發分散式任務排程框架、分散式同步RPC、非同步MQ訊息佇列、分散式日誌檢索框架、hadoop、spark、scala等技術 如果我的寫的文章能對您有幫助,請您能給點捐助,請看首頁置頂...

Quartz 企業級任務排程框架(一)之簡介

什麼是Quartz任務排程庫?Quartz是一個功能豐富的開源作業排程庫,可以整合到幾乎任何Java應用程式中 - 從最小的獨立應用程式到最大的電子商務系統。Quartz可以用來建立執行數十,數百乃至數萬個作業的簡單或複雜的計劃;作業的任務被定義為標準的Java元件,它可以執

LTS 輕量級分散式任務排程框架(Light Task Scheduler)

框架概況: LTS是一個輕量級分散式任務排程框架。有三種角色, JobClient, JobTracker, TaskTracker。各個節點都是無狀態的,可以部署多個,來實現負載均衡,實現更大的負載量, 並且框架具有很好的容錯能力。 採用多種註冊中心(Zoo

quartz開源任務排程框架知識總結(一)

1.1.1             JDK Timer & TimerTask 如果是執行簡單的有一定執行週期的,那麼使用jdk自帶的timer是最簡單的。具體: ①、編寫一個簡單類繼承 TimerTask,在這個新編寫的類中重寫父類中run方法,在run中執行要執

說說Quartz Scheduler任務排程框架

前言   在很多公司,特別是網際網路公司,需要在指定的時間進行一些跑批任務來完成業務實現,Java中實現定時的方式有很多,其中可自己實現,也有比較成熟的框架,如: Quartz,今天來介紹一下Quartz的使用, 簡述   Quartz is a richly fe

分散式任務排程框架 Azkaban —— Flow 1.0 的使用

一、簡介 Azkaban 主要通過介面上傳配置檔案來進行任務的排程。它有兩個重要的概念: Job: 你需要執行的排程任務; Flow:一個獲取多個 Job 及它們之間的依賴關係所組成的圖表叫做 Flow。 目前 Azkaban 3.x 同時支援 Flow 1.0 和 Flow 2.0,本文主要講解 Flo

分散式任務排程框架 Azkaban —— Flow 2.0 的使用

一、Flow 2.0 簡介 1.1 Flow 2.0 的產生 Azkaban 目前同時支援 Flow 1.0 和 Flow2.0 ,但是官方文件上更推薦使用 Flow 2.0,因為 Flow 1.0 會在將來的版本被移除。Flow 2.0 的主要設計思想是提供 1.0 所沒有的流級定義。使用者可以將屬於給定流

自己動手實現分散式任務排程框架(續)

  之前寫過一篇:自己動手實現分散式任務排程框架本來是用來閒來分享一下自己的思維方式,時至今日發現居然有些人正在使用了,本著對程式碼負責人的態度,對程式碼部分已知bug進行了修改,並增加了若干功能,如立即啟動,實時停止等功能,新增加的功能會在這一篇做詳細的說明。   提到分散式任務排程,市面上本身已經有一些框

Quartz任務排程框架初探

Quartz任務排程框架初探 什麼是Quartz? Quartz 是一個完全由 Java 編寫的開源作業排程框架,為在 Java 應用程式中進行作業排程提供了簡單卻強大的機制。 Quartz 可以與 J2EE 與 J2SE 應用程式相結合也可以單獨使用。

任務排程框架quartz使用總結(異常處理,解決恢復後多次排程處理)

任務排程框架quartz使用總結(異常處理,解決恢復後多次排程處理)      首先先說說什麼是排程框架,大白話所謂的排程框架你可以把它看成一個定時任務管理框架,並且quartz框架是多執行緒的, quartz最主要的三大基本特性: (1)排程器&nbs

Quartz任務排程框架--任務執行流程(二)

       上一篇部落格Quartz任務排程框架--簡介與示例(一)中我們已經簡介和示例程式碼對quartz有了初步的認識,這篇部落格我們通過追蹤quartz的定時任務執行流程來加深對quartz的瞭解。 1、執行活動執行緒 (1)Quartz_Worker-*執行

Quartz任務排程框架(啟動定時任務框架

Quartz任務排程框架(啟動定時任務框架) Quartz是OpenSymphony開源組織在Jobscheduling領域又一個開源專案,它可以與J2EE與J2SE應用程式相結合也可以單獨使用。Quartz可以用來建立簡單或為執行十個,百個,甚至是好幾萬個Jobs這樣複雜的

java計劃任務排程框架quartz結合spring實現排程的配置例項程式碼分享

                一:quartz簡介       OpenSymphony 的Quartz提供了一個比較完美的任務排程解決方案。       Quartz 是個開源的作業排程框架,定時排程器,為在 Java 應用程式中進行作業排程提供了簡單卻強大的機制。       Quartz中有兩個基本概

quartz任務排程框架實現任務定時執行,不傳參的配置(一)

quartz是一個任務排程框架,可以用它來實現一些需要定時執行的任務。 本次實現的是spring配置整合quartz 1.配置如下:目標bean和bean中的方法需要自己定義,這個方法就是要執行

quartz任務排程框架入門

1、 CronTrigger時間格式配置說明 CronTrigger配置格式: 格式: [秒] [分] [小時] [日] [月] [周] [年] 序號 說明 是否必填 允許填寫的值 允許的萬用字元 1 秒 是 0-59  , - * /

SSM框架整合 quartz 定時任務排程

maven的pom.xml <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId&

任務排程框架Quartz(一) Quartz——一個強大的定時任務排程框架

Quartz,水晶、石英,一個簡單樸素有美麗的名字,在Java程式界,Quartz大名鼎鼎,很多Java應用幾乎都整合或構建了一個定時任務排程系統,Quartz是一個定時任務排程框架。 何為定時任務排程框架?簡而言之,它可以領會我們的意圖在未來某個時刻做我們想

企業級定時任務排程框架Quartz中文文件chm

作業排程,在一個大的組織中每天的每小時跑上百個作業已屬普遍。並且作業的規模與複雜性仍在持續的上揚,因此批量作業和作業排程器也就隨需應生。Quartz的使用場景主要為: 1:定時郵件提醒和告警。 2:定時執行檔案傳輸操作 3:定時建立銷售報表 4:定時產生日誌資訊 ....等