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

Как можно достичь определенный вид доставки в Kafka

В Kafka можно управлять доставкой сообщений через параметры acks и min.insync.replicas.

1. Гарантированная доставка (надежная):

java
props.put("acks", "all"); // Ждем подтверждения от всех реплик
props.put("min.insync.replicas", "2"); // Минимум 2 синхронизированные реплики

2. Высокая производительность (рискованная):

java
props.put("acks", "0"); // Не ждем подтверждения

3. Баланс между надежностью и скоростью:

java
props.put("acks", "1"); // Ждем подтверждения только от лидера

Также можно использовать идиомы:

  • Exactly-once: Включить enable.idempotence=true и транзакции.
  • At-least-once: Повторная отправка при ошибках (retries > 0).
  • At-most-once: retries = 0.

Пример транзакции:

java
producer.initTransactions();
producer.beginTransaction();
producer.send(record);
producer.commitTransaction();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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