В классической consumer group Kafka обычно фиксируют offsets, а не подтверждают удаление каждого сообщения из очереди. Offset показывает, с какой позиции группа продолжит после восстановления.
Нужно ли подтверждать сообщения в Kafka?
В классической consumer group Kafka обычно фиксируют offsets, а не подтверждают удаление каждого сообщения из очереди. Offset показывает, с какой позиции группа продолжит после восстановления.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В классической consumer group Kafka обычно фиксируют offsets, а не подтверждают удаление каждого сообщения из очереди. Offset показывает, с какой позиции группа продолжит после восстановления.
Если зафиксировать позицию до обработки, сбой может привести к пропуску работы; после обработки — к повтору уже выполненного эффекта. Поэтому выбирают подходящую семантику и идемпотентность. При параллельной обработке нельзя коммитить позицию за незавершённым более ранним сообщением. Подтверждения producer о записи брокером — другой механизм, не равный consumer commit. Для других режимов потребления Kafka контракт подтверждений может отличаться.