Azkaban 服務(wù)是以 jetty 為服務(wù)基礎(chǔ),通過 XML 的方式管理用戶,用 Quartz 為定時器,然后通過 Flow 的方式進(jìn)行管理 job 之間的依賴關(guān)系,從而將整個 job 串聯(lián)起來進(jìn)行執(zhí)行,說回重點,本架構(gòu)分析中以 Azkaban v3.72.1 為基礎(chǔ)版本進(jìn)行分析。
架構(gòu)類圖如下所示:

azkaban架構(gòu)類圖
Azkaban 是類 C/S 的模式,通過在 服務(wù)上添加任務(wù),到執(zhí)行器上進(jìn)行執(zhí)行,并將執(zhí)行的結(jié)果反饋,并可以在 服務(wù)后臺能查看到任務(wù)執(zhí)行日志。
Azkaban 通過數(shù)據(jù)庫維護(hù) job 狀態(tài),當(dāng)執(zhí)行完一個job 之后,從過更新并遍歷下一個 job 并執(zhí)行即可。