銀行核心系統:批量作業調度管理軟件平臺taskct

更多對etl調度工具taskctl的使用問題解析關注公衆號"taskctl"(ID:gh_79ababc7910b)裏面有詳細的使用手冊,歡迎過來查閱哦~

技術討論羣:75273038

大數據開發平臺的核心組件之一:作業調度系統

作業調度系統是一個相對複雜的系統,涉及的內容繁雜,針對的場景多種多樣,實現的方案千差萬別,是一個需要理論和實踐並重的系統。

本文重點談理論,會先從大的場景劃分的角度對市面上的各種調度系統進行分類討論,然後再針對具體的作業調度系統,探討一下各自的架構流派和實現方案,並簡單分析一下各自的優缺點。希望能讓大家對作業調度系統要做什麼,該怎麼做,有一個大致的瞭解

調度系統,更確切地說,作業調度系統(Job Scheduler)或者說工作流調度系統(workflow Scheduler)是任何一個稍微有點規模,不是簡單玩玩的大數據開發平臺都必不可少的重要組成部分。

除了Crontab,Quartz這類偏單機的定時調度程序/庫。開源的分佈式作業調度系統也有很多,比較知名的比如:oozie,azkaban,chronos,taskctl等等,此外,還有包括阿里的TBSchedule,SchedulerX,騰訊的Lhotse,噹噹的elastic-job,唯品會的Saturn等等

可以說,幾乎每家稍微有點規模的數據平臺團隊,都會有自己的調度系統實現方案,要不然自研,要不然在開源的基礎上進行一些封裝和改造(比如很多公司採取了封裝oozie的方式)。

接下來我們就深耕一下近段時間比較活得一款商業調度軟件"taskctl"

 

敏捷調度taskctl

整個技術平臺採用的典型C/S模式

應用程爲客戶端,控制層爲服務端;同時服務端完成對目標層的調度控制

平臺節點管理界面

主要用於定義核心節點,server調度服務節點以及代理節點與與這些節點之間的關係

完整的核心調度功能

技術工具平臺核心主要可以完成串行、並行、依賴、互斥、執行計劃、定時、容錯、循環、條件分支、遠程、負載均衡、自定義條件等各種不同的核心調度功能。

直觀的圖形界面系統

根據不同的功能分類,技術工具平臺將客戶端分爲Admin(平臺管理)、Designer(流程集成開發環境)、Monitor(流程監控管理)三套不同的軟件。

● Admin:平臺節點管理、任務類型管理、工程管理、應用設置、全局變量管理以及流程導入導出等功能。

● Designer:平臺流程代碼信息管理、代碼設計編輯、流程圖形編輯、規則語法適時檢測功能以及編譯發佈等功能。

● Monitor:圖形方式監控、多角度統計監控、流程啓停重置、任務鎖定、任務重做、信息對象查詢等

完整的字符界面系統

字符界面客戶端系統與桌面圖形軟件對應,也分相應的三套軟件完成對應的功能。字符界面系統相比桌面系統,直觀性、可操作性相對弱些,但功能完整性比桌面系統更強

總結:

工作流調度系統作爲大數據開發平臺的核心組件,牽扯的周邊系統衆多,自身的業務邏輯也很複雜,根據目標定位的不同,場景複雜度和側重點的不同,市面上存在衆多的開源方案。

但也正因爲它的重要性和業務環境的高度複雜性,多數有開發能力的公司,還是會二次開發或者自研一套甚至多套系統來支撐自身的業務需求

本文部分觀點參考來源 csdn

更多對etl調度工具taskctl的使用問題解析關注公衆號"taskctl"(ID:gh_79ababc7910b)裏面有詳細的使用手冊,歡迎過來查閱哦~

技術討論羣:75273038

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章