更多對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