Я пытаюсь создать сценарий, в котором у меня есть носик, который считывает данные из брокера сообщений и отправляет сообщение в виде кортежа в Bolt для некоторой обработки.Испускающий набор для разных болтов
Обработка постов болтов преобразует его в отдельные сообщения, и каждое под-сообщение должно быть отправлено различным брокерам, которые могут размещаться на разных машинах.
Предполагая, что у меня есть конечные получатели (в моем случае есть 3 Message Brokers для вывода).
Так, Bolt1 постобработка может либо удалить сообщение непосредственно в этих 3-х брокеров Message
Теперь, если я использую один болт здесь, который падает на сообщения в этих трех брокеров по себе и позволяет сказать, один из них не может (из-за недоступности и т. д.), на котором я называю метод сбоя коллектора.
Как только метод сбоя вызывается на болт, в моем методе сбоя Spout вызывается Invoked.
Здесь я считаю, что мне придется снова обработать все сообщение еще раз (я должен убедиться, что все сообщения должны быть обработаны), хотя 2 из 3 сообщений успешно доставлены.
В качестве альтернативы, даже если я испускаю эти 3 вспомогательные сообщения на разные болты, я думаю, что даже в этом случае Spout придется обрабатывать все сообщение снова.
Это потому, что я добавляю уникальный указатель с сообщением, излучая его в первый раз в методе nextTuple().
Есть ли способ обеспечить, чтобы обработанное сообщение не было обработано, а не целое?
Благодаря