「每日分享」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

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

Elastic-Job-Cloud

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

轉自Java技術棧


分享到:


相關文章: