当前位置: 首页 > 知识库问答 >
问题:

并行Spring批作业的推荐方法

訾高飞
2023-03-14

Spring批处理集成文档解释了如何使用远程分块和分区的步骤,请参见

http://docs.spring.io/spring-batch/trunk/reference/html/springbatchintegration.html#Externalizing-batch-process-execution

我们的工作不包括简单的读取器/处理器/写入器步骤。因此,我们只想让整个作业并行运行,每个作业分配到不同的分区。

在Spring批处理中是否已有此模式?还是需要实现自己的JobLauncher来维护启动作业的从属池?

干杯,曼诺

共有1个答案

燕智
2023-03-14

Spring Batch特别采取了不处理作业编排的立场(您的问题基本上是关于这个问题的)。有几种类似的方法:

  • 分布式调度器-大多数分布式调度器都能够在多个节点上执行任务。例如,石英具有分布式模式
  • 使用远程分区进行编排-远程分区作为从机执行完整的Spring批处理步骤。这些步骤没有理由不是执行作业的作业步骤。
  • 消息驱动的作业启动-Spring批处理集成(Spring批处理的子模块)提供了通过消息启动作业的功能。另一种方法是让一组从机监听队列,等待消息启动作业。您必须以某种方式处理从机之间的负载平衡之类的事情,但这是处理作业编排的另一种常用方法。
 类似资料:
  • 我有一个作业流,我希望以以下方式运行它: 作业流将从Job1开始。在Job1成功完成后,Job1将同时启动Job2和Job4。 Job2和Job4将并行运行。 在Job2成功完成后,Job2将启动Job3。 在Job4成功完成后,Job4将启动Job5。 下面是job1.xml和job1的作业启动器类的代码片段: job1.xml uijobLauncher.java “job2,Job3”对和“

  • 在分析云电商行业版本中,分析云基于对电商行业知识的理解沉淀,提供了一份推荐埋点方案,帮助您在电商场景中快速上手使用。 1. 系统预生成自定义事件 在您开通分析云电商版后,系统会根据电商行业推荐埋点方案自动为您生成相应的自定义事件和属性。举例如下: 序号 自定义事件名称 自定义事件标识符 属性名称 属性标识符 1 加入购物车 add_to_cart 商品名称 product_name 商品ID pr

  • 我们有一些spring-batch作业是由autosys用shell脚本触发的,它们是短期的进程。 现在还没有办法查看spring-batch进程中发生的事情,所以我正在探索查看状态和管理(停止)作业的方法。 Spring Cloud Data Flow是我正在探索的选项之一--但当使用AutoSys调度作业时,它似乎不起作用。 在这方面,我还可以探索哪些其他选项,现在管理spring-batch

  • 我在BatchScheduler中有多个计划作业,它在特定时间运行。简单的内置JobLauncher,这是同步的。在自然界中最初使用。现在,我想并行运行这些作业,这样没有作业可以等待其他作业完成。 我在不同的作业上尝试过@Async注释,但都不起作用。 然后,我尝试设置joblauncher.settaskexecutor(新的SimpleAsyncTaskExecutor())。但这并不奏效。

  • 我们有一个用例,需要从一些分页的API读取数据,然后写入一些下游的Kafka主题。 我们已经能够通过Spring批处理集成远程分区来实现解决方案,其中管理器通过创建包含页码和偏移量以读取数据的执行上下文来处理任务的分区。管理器创建此执行上下文并将它们放在MessagingChannel上(我可以使用RabbitMQ和Kafka主题,以提供解决方案者为准)。工作人员(超过1个)从MessagingC

  • Spring批处理作业与flatfileitemreader(从csv读取)、processor(更新adwords api提要详细信息,对于csv文件中的每个记录(大约有40条记录),这一步大约需要40秒)和正在更新DB中记录的定制writer一起使用。 web.xml