远程分区
分区是主/从步骤配置,允许并行处理数据分区。每个分区都是通过一些元数据来描述的。例如,如果您正在处理数据库表,则分区1可能是ID
0-100,分区2可能是101-200,等等。对于Spring Batch,主步骤使用分区器来生成包含每个分区的元数据的ExecutionContext。这些ExecutionContext被分发给从属步骤,以由PartitionHandler处理(对于远程分区,通常使用MessageChannelPartitionHandler)。从站执行其步骤并返回结果状态以供主站聚合。
有关远程分区的注意事项:
- 输入和输出对于从站是本地的。例如,如果输入是文件,则从站需要访问该文件。
- 从站需要访问JobRepository。从站是完全定义的Spring Batch步骤,因此它们需要JobRepository访问。
远程分块
远程组块与远程分区类似,因为它是主/从配置。但是,使用远程分块时,主机将读取数据,并将数据通过电线发送到从机进行处理。处理完成后,ItemProcessor的结果将返回给母版进行写入。
有关远程分块的注意事项:
- 所有I / O由主站完成。
- 从属服务器仅处理处理,因此不需要JobRepository访问。
- 远程组块比远程分区需要更多的I / O操作,因为实际数据是通过网络发送的,而不是通过元数据来描述的。
我曾就扩展Spring
Batch进行过演讲,并演示了可以在此处观看的远程分区:http
:
//www.youtube.com/watch?v=CYTj5YT7CZU



