我想分散大批量的处理。这个想法是使用 Spring Batch 在云中启动一堆 AMQP 消费者,然后加载廉价任务(如项目 ID)并将它们提交到 AMQP 交换。结果的书写将由消费者自己完成。

是否有现成的库可以完成此任务?

一些想法:

  • Spring Batch 是完全可以协商的。
  • 批量大小为数百万。我不想通过一次性提交所有这些 ID 来杀死我的消息代理,而是使用某种限制。
  • 我确实想知道哪些项目已被处理,以便我可以监控流程。因此,批次控制过程必须接收消费者的回复。
有帮助吗?

解决方案

是的,请参阅 spring 批处理集成 项目。它结合了 Spring Batch 和 Spring Integration 来执行您想要的操作。

对于批次 2.2.x,它是 spring-batch-admin 分配;在即将发布的批处理 3.0.0 版本中,它已移至批处理正确位置。

远程分区仅发送有关分区的元数据,而工作人员实际获取数据。

它带有一个 JMS 示例 但将 spring 集成 JMS 网关替换为 spring 集成 amqp 网关并不困难。

还有一个远程分块版本,其中数据通过传输而不是分区元数据发送。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top