Я создаю топо для получения сообщений от kafka, а затем grep какое-то ключевое слово, если оно подходит, записываю в локальный файл.
Я использую OpaqueTridentKafkaSpout
storm-kafka, чтобы кортеж не пропустил и не повторился, но рассмотрим одну ситуацию: при записи сообщения в локальный файл возникает какая-то ошибка (например, не хватает места). В этот момент некоторые сообщения были записаны в локальный файл, а другие нет, если носик повторно отправит сообщение, сообщение будет записано дважды.
Как с этим справиться?