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

Когда может произойти потеря данных в Kafka

Потеря данных в Kafka может произойти в следующих случаях:

  1. Недостаточная репликация – если replication.factor меньше количества брокеров, и все реплики теряются (например, при сбое серверов).

  2. Неправильная настройка acks – при acks=0 или acks=1 данные могут быть потеряны, если брокер упадет до репликации.

  1. Усечение логов (log truncation) – при сбое реплики и последующем восстановлении, если unclean.leader.election.enable=true, Kafka может выбрать несинхронизированную реплику, усекая данные.

  2. Истечение срока хранения – если retention.ms истек, данные автоматически удаляются.

Пример опасной конфигурации продюсера:

java
props.put("acks", "0"); // Риск потери данных при сбое брокера
props.put("retries", 0); // Нет повторных попыток

Для минимизации риска:

  • Используйте acks=all
  • Установите replication.factor ≥ 3
  • Отключите unclean.leader.election.enable (по умолчанию false в новых версиях)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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