当前位置: 首页 > 面试题库 >

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

仲孙铭
2023-03-14
问题内容

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

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


问题答案:

远程分区

分区是主/从步骤配置,允许并行处理数据分区。每个分区都是通过一些元数据来描述的。例如,如果您正在处理数据库表,则分区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



 类似资料:
  • spring批处理远程分块和远程分区之间有什么区别? 我无法理解spring batch中远程分块和远程分区之间的区别。谁能解释一下吗?

  • 试着看看我是否能设计一个既需要分区又需要远程分块的工作。我们可以有类似于表A的东西来保存行(表A中的一列将是分区键),对于表A中的每一行,我们将有表B,其中包含表A中给定外部/分区键的许多子记录。我们需要运行一个查询,根据查询过滤表a中的分区键,并为每个分区键处理表B中的所有子记录(这里我们在表B中也会有数百万条记录,因此我们需要并行处理记录,从而实现远程分块) 对于这样的事情,什么是正确的思考s

  • 目前,我们正在将批处理作业从java迁移到spring batch。此批处理作业从数据库和web服务获取其输入。我们需要在四台服务器上运行此作业,以提高性能,因为此作业正在处理大量数据。 上述场景是否可以通过spring batch中的远程分区实现? 我浏览了远程分区文档,但它很难理解,我没有找到任何关于远程分区的可靠示例。 请帮帮我。

  • 我们在POC中使用远程分区,处理大约2000万条记录。为了处理这些记录,slave需要一些大约5000行的静态元数据。我们当前的POC使用EhCache从数据库一次将元数据加载到从机中,并将其放入缓存中,这样子用户调用就可以从缓存中获取这些数据,从而获得更好的性能。 现在,由于我们使用远程分区,我们的从机大约有20个MDP/线程,因此每个消息侦听器首先调用以从数据库获取元数据,因此基本上每个远程机

  • 本文向大家介绍站点间VPN和远程访问VPN之间的区别,包括了站点间VPN和远程访问VPN之间的区别的使用技巧和注意事项,需要的朋友参考一下 站点到站点VPN和远程访问VPN都是虚拟专用网络的类型,主要用于数据传输和在安全网络下从一个位置访问机器到另一位置的机器,该机器充当整个机器的私有网络。现在,基于这两个VPN的特征,我们可以区分这两个VPN。 以下是站点到站点VPN和远程访问VPN之间的重要区

  • 远程引用是对远程仓库的引用(指针),包括分支、标签等等。 你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show (remote) 获得远程分支的更多信息。 然而,一个更常见的做法是利用远程跟踪分支 {#2}。 远程跟踪分支 {#2}是远程分支状态的引用。 它们是你不能移动的本地引用,当你做任何网络通信操作时,它们会自动移