PowerJob:一款強大且開源的分散式排程與計算框架
阿新 • • 發佈:2021-07-15
專案名稱:PowerJob
專案作者:假詩人
開源許可協議:Apache-2.0
專案地址:https://gitee.com/KFCFans/PowerJob
專案簡介
PowerJob(原OhMyScheduler)是全新一代分散式排程與計算框架,其主要功能特性如下:
- 使用簡單:提供前端Web介面,允許開發者視覺化地完成排程任務的管理(增、刪、改、查)、任務執行狀態監控和執行日誌檢視等功能。
- 定時策略完善:支援CRON表示式、固定頻率、固定延遲和API四種定時排程策略。
- 執行模式豐富:支援單機、廣播、Map、MapReduce四種執行模式,其中Map/MapReduce處理器能使開發者寥寥數行程式碼便獲得叢集分散式計算的能力。
- 執行器支援廣泛:支援Spring Bean、內建/外接Java類、Shell、Python等處理器,應用範圍廣。
- 運維便捷:支援線上日誌功能,執行器產生的日誌可以在前端控制檯頁面實時顯示,降低debug成本,極大地提高開發效率。
- 依賴精簡:最小僅依賴關係型資料庫(MySQL/PostgreSQL/Oracle/MS SQLServer...)
- 高可用&高效能:排程伺服器經過精心設計,一改其他排程框架基於資料庫鎖的策略,實現了無鎖化排程。部署多個排程伺服器可以同時實現高可用和效能的提升(支援無限的水平擴充套件)。
- 故障轉移與恢復:任務執行失敗後,可根據配置的重試策略完成重試,只要執行器叢集有足夠的計算節點,任務就能順利完成
適用場景
- 有定時執行需求的業務場景:如每天凌晨全量同步資料、生成業務報表等。
- 有需要全部機器一同執行的業務場景:如使用廣播執行模式清理叢集日誌。
- 有需要分散式處理的業務場景:比如需要更新一大批資料,單機執行耗時非常長,可以使用Map/MapReduce處理器完成任務的分發,調動整個叢集加速計算。