「每日分享」ElasticJob—分布式作業調度神器,你還在用Quartz嗎

點擊上方"java全棧技術"關注,每天學習一個java知識點

簡介

Elastic-Job是一個分佈式調度解決方案,由兩個相互獨立的子項目Elastic-Job-Lite和Elastic-Job-Cloud組成。

Elastic-Job-Lite定位為輕量級無中心化解決方案,使用jar包的形式提供分佈式任務的協調服務。

功能列表

1、任務分片

將整體任務拆解為多個子任務可通過服務器的增減彈性伸縮任務處理能力分佈式協調,任務服務器上下線的全自動發現與處理

2、 多任務類型

基於時間驅動的任務基於數據驅動的任務(TBD)同時支持常駐任務和瞬時任務多語言任務支持

3、雲原生

完美結合Mesos或Kubernetes等調度平臺任務不依賴於IP、磁盤、數據等有狀態組件合理的資源調度,基於Netflix的Fenzo進行資源分配

4、容錯性

支持定時自我故障檢測與自動修復分佈式任務分片唯一性保證支持失效轉移和錯過任務重觸發

5、任務聚合

相同任務聚合至相同的執行器統一處理節省系統資源與初始化開銷動態調配追加資源至新分配的任務

6、易用性

完善的運維平臺提供任務執行歷史數據追蹤能力註冊中心數據一鍵dump用於備份與調試問題

整體架構圖

Elastic-Job-Lite

Elastic-Job-Cloud

轉自Java技術棧