Я хотел бы лучше понять процесс повторения сообщения Kafka. Я слышал, что неудачная обработка использованных сообщений может быть решена с помощью 2 опций:
- SeekToCurrentErrorHandler (сброс смещения)
- публикация сообщения в очереди недоставленных сообщений (DLQ)
Второй вариант довольно ясен: если сообщение не удалось обработать, оно просто помещается в очередь ошибок. Меня больше интересует первый вариант.
AFAIK, 1-й вариант является наиболее широко используемым, но как он работает, когда несколько потребителей одновременно получают сообщения из одной и той же топики c? Работает ли это так, что если конкретное сообщение не удалось, смещение для идентификатора потребителя сбрасывается на смещение сообщения? Что произойдет с сообщениями, успешно обработанными одновременно / после сбоя, будут ли они повторно обработаны?
Как вы можете посоветовать мне разобраться с повторными попытками сообщения?