1. 程式人生 > >大量資料也不在話下,Spring Batch並行處理四種模式初探

大量資料也不在話下,Spring Batch並行處理四種模式初探

# 1 前言 > 歡迎訪問[南瓜慢說 www.pkslow.com](https://www.pkslow.com/)獲取更多精彩文章! `Spring相關文章:`[Springboot-Cloud](https://www.pkslow.com/categories/springboot) 前面寫了一篇文章《[通過例子講解Spring Batch入門,優秀的批處理框架](https://www.pkslow.com/archives/spring-batch-introduction)》講解`Spring Batch`入門,但要發揮它的作用,並行處理不能不瞭解。 # 2 四種模式 大多數情況下,單執行緒、單程序的`Spring Batch`已經能滿足你的需求。在我們走向更復雜的特性之前,先看看簡單的能不能用,`Keep it Simple and Stupid`。 不過,當你確定要使用並行處理時,`Spring Batch`也提供了多種選擇。整體上分為兩大類: - (1)單程序、多執行緒 - (2)多程序 細分如下: - (1)多執行緒的`Step`(單程序) - (2)並行的`Steps`(單程序) - (3)遠端分塊(多程序) - (4)遠端分割槽(多程序) 光從名字看,很難理解它們之間的差別,我們來一一介紹吧。 ## 2.1 多執行緒的Step 通過提供一個`TaskExecutor`來執行,而`TaskExecutor`是可以自定義的,我們可以提供一個基於執行緒池的`TaskExecutor`,則可以實現多執行緒處理。 ```java @Bean public TaskExecutor taskExecutor(){ return new SimpleAsyncTaskExecutor("spring_batch"); } @Bean public Step sampleStep(TaskExecutor taskExecutor) { return this.stepBuilderFactory.get("sampleStep