一文輕鬆搞定批處理框架 Spring Batch
【本文轉自部落格園 作者:張鋒 原文連結:https://www.cnblogs.com/skyme/p/7524764.html】
什麼是批處理?
在現代企業應用當中,面對複雜的業務以及海量的資料,除了透過龐雜的人機互動介面進行各種處理外,還有一類工作,不需要人工干預,只需要定期讀入大批次資料,然後完成相應業務處理並進行歸檔。這類工作即為“批處理”
為什麼使用Spring Batch
Spring Batch 作為 Spring 的子專案,是一款基於 Spring 的企業批處理框架。透過它可以構建出健壯的企業批處理應用。Spring Batch 不僅提供了統一的讀寫介面、豐富的任務處理方式、靈活的事務管理及併發處理,同時還支援日誌、監控、任務重啟與跳過等特性,大大簡化了批處理應用開發,將開發人員從複雜的任務配置管理過程中解放出來,使他們可以更多地去關注核心的業務處理過程。
另外我們還需要知道,Spring Batch 是一款批處理應用框架,不是排程框架。它只關注批處理任務相關的問題,如事務、併發、監控、執行等,並不提供相應的排程功能。因此,如果我們希望批處理任務定期執行,可結合 Quartz 等成熟的排程框架實現。
Spring Batch的整體架構
分三層:應用層,核心層,基礎設施層。應用層包括所有的batch任務和使用者開發的程式碼。核心層包括在執行期執行一個任務所需要的類,例如:JobLauncher,Job和Step的實現。應用和核心層都在基礎設施層之上,基礎設施層包括通用的讀寫器(readers and writers)以及如RetryTemplate等服務。
Spring Batch 結構
Spring Batch 流程
Step執行過程
應用場景
- 定期提交批處理任務
- 併發批處理:並行執行任務
- 分階段,企業訊息驅動處理
- 高併發批處理任務
- 失敗後手動或定時重啟
- 按順序處理任務依賴(使用工作流驅動的批處理外掛)
- 區域性處理:跳過記錄(例如在回滾時)
- 完整的批處理事務:因為可能有小資料量的批處理或存在儲存過程/指令碼
後續計劃:
對現有資料量使用多執行緒的方式處理,根據業務量擴充套件,可以配置成多程式加多執行緒方式處理。對於海量資料,使用叢集,短期內應該不會達到。
備註
官網:
相關介紹:http://blog.jobbole.com/109857/
https://www.ibm.com/developerworks/cn/java/j-lo-springbatch1/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2157480/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring Boot 之 Spring Batch 批處理實踐Spring BootBAT
- 《Spring Batch 權威指南》之“批處理和 Spring”SpringBAT
- Spring Batch 基本的批處理指導原則SpringBAT
- 配置 Spring Batch 批處理失敗重試機制SpringBAT
- Dynamics 365 Web API 批處理(batch requests)WebAPIBAT
- 批處理框架框架
- 一文輕鬆搞定 tarjan 演算法(二)演算法
- 辦公室革命,教你輕鬆搞定輕鬆玩轉ExcelExcel
- 使用Kafka分割槽擴充套件Spring Batch大資料排程批處理 – ArnoldKafka套件SpringBAT大資料
- Spring Batch + JPA 處理 Excel 檔案教程SpringBATExcel
- Java後端開發中的任務排程:使用Spring Batch實現批處理Java後端SpringBAT
- lubridate—輕鬆處理日期時間
- 資料共享-spring batch(9)上下文處理SpringBAT
- 輕鬆實現session的mysql處理 (轉)SessionMySql
- MySQL使用Batch批量處理MySqlBAT
- 輕鬆搞定專案流程自動化
- Pandas缺失值處理 | 輕鬆玩轉Pandas(3)
- 掌握BeanShell,輕鬆處理jmeter中的資料BeanJMeter
- 效率提升50倍,輕鬆處理大資料大資料
- 分散式事務最終一致性-CAP框架輕鬆搞定分散式框架
- Windows批處理學習(二)——批處理(3)薦Windows
- 一文搞定 Spring Data JPASpring
- 結合 AOP 輕鬆處理事件釋出處理日誌事件
- 輕鬆理解 Spring AOPSpring
- JDBC 批處理JDBC
- 碎片批處理
- 批處理命令
- 批處理概述
- Spring Boot整合Spring Cloud Task實現批處理操作Spring BootCloud
- 3D 穿梭效果?使用 CSS 輕鬆搞定3DCSS
- Android輕鬆搞定Dialog提示動畫效果Android動畫
- 12步輕鬆搞定python裝飾器Python
- C++ 異常處理機制詳解:輕鬆掌握異常處理技巧C++
- windows批處理之一:字串處理Windows字串
- BI與SaaS碰撞,讓資料處理更加輕鬆(下)
- 如何在Java中輕鬆處理Emoji Unicode - UdayakumarJavaUnicode
- 在.NET Framework中輕鬆處理XML資料(一) (轉)FrameworkXML
- 在.NET Framework中輕鬆處理XML資料(五) (轉)FrameworkXML