我们在POC中使用远程分区,处理大约2000万条记录。为了处理这些记录,slave需要一些大约5000行的静态元数据。我们当前的POC使用EhCache从数据库一次将元数据加载到从机中,并将其放入缓存中,这样子用户调用就可以从缓存中获取这些数据,从而获得更好的性能。
现在,由于我们使用远程分区,我们的从机大约有20个MDP/线程,因此每个消息侦听器首先调用以从数据库获取元数据,因此基本上每个远程机器上有20个线程同时访问数据库。我们现在有2台机器,但会增长到4台。
我的问题是,有没有更好的方法可以像作业开始前那样只加载一次元数据,并让所有远程从属服务器都可以访问?
或者我们可以在远程stap中使用步骤侦听器吗?我认为这不是一个好主意,因为它将为每个远程步骤执行执行,但需要专家的想法。
您可以将EhCache服务器设置为单独的应用程序运行,或者使用其他产品进行缓存,例如Hazelcast。如果您可以选择商业产品,那么Coherence也可能有效。
spring批处理远程分块和远程分区之间有什么区别? 我无法理解spring batch中远程分块和远程分区之间的区别。谁能解释一下吗?
试着看看我是否能设计一个既需要分区又需要远程分块的工作。我们可以有类似于表A的东西来保存行(表A中的一列将是分区键),对于表A中的每一行,我们将有表B,其中包含表A中给定外部/分区键的许多子记录。我们需要运行一个查询,根据查询过滤表a中的分区键,并为每个分区键处理表B中的所有子记录(这里我们在表B中也会有数百万条记录,因此我们需要并行处理记录,从而实现远程分块) 对于这样的事情,什么是正确的思考s
我开发了一个应用程序,我们必须从一个大表中处理500多万条记录。我们使用了spring批处理远程分区,它工作得很好。 我现在必须使用相同的作业,并对其进行调整,以便为多个表创建分区。每个分区都有表名和最小和最大记录,这样从机就知道必须从哪个表读取数据并准备文件。 我的问题是,这是可以做到的吗?如果可以,那么github上是否有任何样本。 非常感谢。
我试图配置我的第一个多线程作业。我们有大约200,000条记录的主目录,我们需要处理。我想将文件分解为10个文件并处理它们。拆分文件tasklet工作正常 主步骤在我的配置中运行,但从步骤不运行。下面是我的配置。 分割者: MultiResourceItemReader: FlatFileItemWriter: 作业配置: 从属步骤配置: 请告知我做错了什么。我没有看到处理器urlFileItem
目前,我们正在将批处理作业从java迁移到spring batch。此批处理作业从数据库和web服务获取其输入。我们需要在四台服务器上运行此作业,以提高性能,因为此作业正在处理大量数据。 上述场景是否可以通过spring batch中的远程分区实现? 我浏览了远程分区文档,但它很难理解,我没有找到任何关于远程分区的可靠示例。 请帮帮我。
我们有一个用例,需要从一些分页的API读取数据,然后写入一些下游的Kafka主题。 我们已经能够通过Spring批处理集成远程分区来实现解决方案,其中管理器通过创建包含页码和偏移量以读取数据的执行上下文来处理任务的分区。管理器创建此执行上下文并将它们放在MessagingChannel上(我可以使用RabbitMQ和Kafka主题,以提供解决方案者为准)。工作人员(超过1个)从MessagingC