Почему при проблеме с дублями использовали at-least-once, а не exactly-once? Какие у exactly-once ограничения?

Exactly-once в Kafka ограничена определённым контуром, прежде всего транзакционным read-process-write внутри Kafka. Она не делает произвольный HTTP-вызов или запись во внешнюю БД автоматически однократными.

Короткий ответ

Что ответить на собеседовании

Exactly-once в Kafka ограничена определённым контуром, прежде всего транзакционным read-process-write внутри Kafka. Она не делает произвольный HTTP-вызов или запись во внешнюю БД автоматически однократными.

Подробный разбор

Ответ с пояснениями

Exactly-once в Kafka ограничена определённым контуром, прежде всего транзакционным read-process-write внутри Kafka. Она не делает произвольный HTTP-вызов или запись во внешнюю БД автоматически однократными.

Если бизнес-эффект находится в БД, at-least-once плюс атомарный inbox и идемпотентность часто дают понятную защиту. Kafka transactions требуют правильной работы producer, offsets и read_committed у читателей, добавляя сложность и накладные расходы. Выбор объясняют границами гарантии и ценой ошибки, а не тезисом «exactly-once не существует». Для внешних систем всё равно нужен отдельный протокол.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее