簡體   English   中英

Spring 批量遠程分區到多個應用程序實例

[英]Spring batch remote partitioning to multiple application instances

我正在使用 spring 批處理進行遠程分區。我有多個 spring 批處理應用程序實例正在運行。 作為用例的一部分,我需要處理數據庫中存在的所有記錄。 所以我為每個記錄分配實例。所以批處理應用程序的每個實例都可以處理實例特定的記錄。

例如

Records1 -: instance1
Records2 -: instance1
Records3 -: instance2
Records4 -: instance2
.... so on

我知道我們可以使用 Kafka 或 JMS 而不是顯式分區。 在我的用例中,我不想使用任何消息中間件。 因此,在將實例分配給每個記錄之后。 我想調用這兩個實例。 如何調用這兩個實例?

你仍然需要一個消息中間件來實現遠程分區。 這是管理步驟將StepExecutionRequest發送到工作步驟所必需的。

如果您真的想避免使用消息傳遞中間件,您可以為每個記錄集創建一個作業實例。 根據您的示例,這可以設計如下:

  • 作業實例 1 -> Records1 和 Records2
  • 作業實例 2 -> Records3 和 Records4
  • ETC

這些作業實例可以在同一 JVM 的不同線程中本地執行,也可以在同一機器上的不同 JVM 中本地執行,或者在集群中的不同機器上遠程執行。 並行度僅取決於集群中可用的資源。 您可以在一台機器上擁有多個 JVM,其中每個 JVM 並行運行多個作業實例。 然后,您可以在不同的機器上復制該設置,並根據您的要求實現高水平的並行性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM