在大型企業(yè)中,由于業(yè)務(wù)復(fù)雜、數(shù)據(jù)量大、數(shù)據(jù)格式不同、數(shù)據(jù)交互格式繁雜,并非所有的操作都能通過交互界面進行處理。而有一些操作需要定期讀取大批量的數(shù)據(jù),然后進行一系列的后續(xù)處理。這樣的過程就是“批處理”。

批處理應(yīng)用通常有以下特點:

  • 數(shù)據(jù)量大,從數(shù)萬到數(shù)百萬甚至上億不等;

  • 整個過程全部自動化,并預(yù)留一定接口進行自定義配置;

  • 這樣的應(yīng)用通常是周期性運行,比如按日、周、月運行;

  • 對數(shù)據(jù)處理的準(zhǔn)確性要求高,并且需要容錯機制、回滾機制、完善的日志監(jiān)控等。

什么是Spring batch

Spring batch是一個輕量級的全面的批處理框架,它專為大型企業(yè)而設(shè)計,幫助開發(fā)健壯的批處理應(yīng)用。Spring batch為處理大批量數(shù)據(jù)提供了很多必要的可重用的功能,比如日志追蹤、事務(wù)管理、job執(zhí)行統(tǒng)計、重啟job和資源管理等。同時它也提供了優(yōu)化和分片技術(shù)用于實現(xiàn)高性能的批處理任務(wù)。

它的核心功能包括:

  • 事務(wù)管理

  • 基于塊的處理過程

  • 聲明式的輸入/輸出操作

  • 啟動、終止、重啟任務(wù)

  • 重試/跳過任務(wù)

  • 基于Web的管理員接口


網(wǎng)友評論