Встречается на собеседованиях • сегодня
Какие знаешь проблемы при падении микросервиса при чтении из Kafka
Основные проблемы при падении микросервиса во время чтения из Kafka:
- Потеря сообщений: Если обработка не завершена до падения, сообщение может быть потеряно (если auto-commit=true).
- Дублирование обработки: При ручном коммите, если сервис упал после обработки, но до коммита, сообщение будет обработано повторно.
- Неконтролируемый оффсет: При рестарте сервис может начать читать с непредсказуемого оффсета.
Решение:
- Использовать exactly-once семантику (транзакции Kafka).
- Реализовать идемпотентность обработчика.
- Настроить ручной коммит оффсета только после успешной обработки.
Пример ручного коммита:
java
try {
process(record); // бизнес-логика
consumer.commitSync(); // коммит только после успеха
} catch (Exception e) {
consumer.seek(record.partition(), record.offset()); // перечитываем при ошибке
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы