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

Какие знаешь проблемы при падении микросервиса при чтении из Kafka

Основные проблемы при падении микросервиса во время чтения из Kafka:

  1. Потеря сообщений: Если обработка не завершена до падения, сообщение может быть потеряно (если auto-commit=true).
  2. Дублирование обработки: При ручном коммите, если сервис упал после обработки, но до коммита, сообщение будет обработано повторно.
  3. Неконтролируемый оффсет: При рестарте сервис может начать читать с непредсказуемого оффсета.

Решение:

  • Использовать exactly-once семантику (транзакции Kafka).
  • Реализовать идемпотентность обработчика.
  • Настроить ручной коммит оффсета только после успешной обработки.

Пример ручного коммита:

java
try {
    process(record); // бизнес-логика  
    consumer.commitSync(); // коммит только после успеха  
} catch (Exception e) {
    consumer.seek(record.partition(), record.offset()); // перечитываем при ошибке  
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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