Распределенная пакетная обработка с использованием Spring Batch и AMQP

StackOverflow https://stackoverflow.com//questions/23034856

Вопрос

Я хочу распределить обработку больших партий.Идея состоит в том, чтобы с помощью Spring Batch запускать группу потребителей AMQP в облаке, а затем загружать дешевые задачи (например, идентификаторы элементов) и отправлять их на AMQP exchange.Написание результатов будет осуществляться самими потребителями.

Существует ли готовая библиотека для достижения этой цели?

Несколько мыслей:

  • Весенняя партия полностью обсуждается.
  • Размер партии составляет несколько миллионов.Я не хочу уничтожать свой брокер сообщений, отправляя грубой силой все эти идентификаторы сразу, но вместо этого использую какое-то регулирование.
  • Я действительно хочу знать о том, какие элементы были обработаны, чтобы я мог следить за процессом.Таким образом, процесс контроля партии должен будет получать ответы от потребителей.
Это было полезно?

Решение

Да, посмотрите на весенняя пакетная интеграция проект.Он сочетает в себе Spring Batch и Spring Integration для выполнения того, что вы хотите.

Для пакета 2.2.x это часть spring-batch-admin распределение;в предстоящем выпуске batch 3.0.0 он был перенесен в собственно batch.

Удаленное разбиение на разделы просто отправляет метаданные о разделах, и рабочие фактически извлекают эти данные.

Он поставляется с Пример JMS но было бы нетрудно заменить шлюзы JMS с весенней интеграцией на шлюзы amqp с весенней интеграцией.

Существует также версия удаленного фрагментирования, в которой данные передаются по транспорту вместо метаданных раздела.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top