Spring Batch远程分块和远程分区之间的区别

Spring Batch远程分块和远程分区有什么区别?

我无法理解Spring Batch中的远程分块和远程分区之间的区别。有人可以解释吗?

回答:

Remote Partitioning

分区是主/从步骤配置,它允许并行处理数据分区。每个分区都是通过一些元数据来描述的。例如,如果你正在处理数据库表,则分区1的ID可能是ID 0-100,分区2的ID可能是101-200,等等。对于Spring Batch,主步骤使用分区器来生成包含每个分区的元数据的ExecutionContext。这些ExecutionContext被分发到从属步骤,以由PartitionHandler处理(对于远程分区,通常使用MessageChannelPartitionHandler)。从站执行其步骤并返回结果状态以供主站聚合。

有关远程分区的注意事项:

  • 输入和输出对于从站是本地的。例如,如果输入是文件,则从站需要访问该文件。
  • 从站需要访问JobRepository。从站是完全定义的Spring Batch步骤,因此它们需要JobRepository访问。

Remote Chunking

远程组块与远程分区类似,因为它是主/从配置。但是,对于远程分块,数据由主机读取,并通过电线发送到从机进行处理。处理完成后,ItemProcessor的结果将返回给母版进行写入。

有关远程分块的注意事项:

  • 所有I / O由主站完成。
  • 从属服务器仅处理处理,因此不需要JobRepository访问。
  • 远程分块比远程分区更耗费I / O,因为实际数据是通过线路发送的,而不是通过元数据描述的。

以上是 Spring Batch远程分块和远程分区之间的区别 的全部内容, 来源链接: utcz.com/qa/430159.html

回到顶部