Сбой потребителя Кафки после обработки, но до совершения смещения? - PullRequest
0 голосов
/ 14 мая 2019

Я работаю с Paf над POC и изучаю уникальные функции, используя транзакционный API, и все еще застрял на нескольких вопросах. Что произойдет, если потребитель потерпит крах после обработки сообщения, но до его смещения? Кажется, что следующий запуск неизбежно начнется с неправильного сообщения, и дубликат сообщения пройдет. Как мне справиться с этим сценарием?

1 Ответ

4 голосов
/ 15 мая 2019

Что произойдет, если потребитель потерпит крах после обработки сообщения, но перед передачей его смещения?

Кафка: полное руководство упоминает опцию, что если обработка сообщений включает запись сообщений в БД, мы можем также записать обработанные смещения в БД и использовать это смещение на этапе восстановления, выполняя поиск ( искать ()) смещение, из которого мы хотим опросить от Кафки.

Тем не менее, вы можете иметь уникальный идентификатор в каждом сообщении, чтобы потребители могли проверить, обрабатывалось ли сообщение раньше или нет. Это (обработка дубликатов) всегда должно быть реализовано в коде потребителя.

...