Встречается на собеседованиях • сегодня

Что такое auto-commit в Kafka

Auto-commit в Kafka — это автоматическое подтверждение (commit) смещений (offsets) для потребителя (consumer). По умолчанию, если enable.auto.commit=true, Kafka автоматически фиксирует offsets через заданный интервал (auto.commit.interval.ms), обычно 5 секунд.

Проблемы:

  • Потеря сообщений: Если consumer упал после обработки сообщения, но до auto-commit, Kafka считает сообщение обработанным и не переотправит его.
  • Дублирование: Если consumer успел закоммитить offset, но не завершил обработку, Kafka повторно отправит уже обработанные сообщения.

Пример отключения auto-commit:

java
props.put("enable.auto.commit", "false");
// Ручной commit после обработки
consumer.commitSync();

Когда использовать:

  • Auto-commit подходит для простых сценариев, где допустима потеря или дублирование сообщений.
  • Для гарантированной доставки лучше управлять commits вручную (commitSync/commitAsync).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы