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

Какие знаешь гарантии доставки сообщений в Kafka

Kafka предоставляет несколько уровней гарантий доставки сообщений:

  1. At least once (минимум один раз) - сообщение точно будет доставлено, но возможны дубли. Достигается при acks=all и enable.idempotence=true. Пример:
java
props.put("acks", "all");
props.put("enable.idempotence", "true");
  1. At most once (максимум один раз) - сообщение может быть потеряно, но дублей не будет. Настройки: acks=0 или retries=0.

  2. Exactly once (ровно один раз) - комбинация идемпотентности (enable.idempotence=true) и транзакций для кросс-партиционных/топиковых операций. Пример:

java
producer.initTransactions();
producer.beginTransaction();
producer.send(record);
producer.commitTransaction();

Гарантии зависят от настроек producer (acks, retries), broker (репликация) и consumer (ручное/автоматическое подтверждение offset). Для надежной доставки рекомендуется acks=all и репликация минимум в 3 брокера.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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