Выбор ответа Middle Асинхронные интеграции и брокеры спрашивают часто обновлено

Гарантия at least once

Вопрос

Брокер настроен на доставку at least once. Что обязан учесть потребитель?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сообщение может прийти повторно, обработка должна быть идемпотентной. At least once означает «не меньше одного раза»: при сбое между обработкой и подтверждением сообщение придёт ещё раз.

Варианты ответа

  1. Сообщение может потеряться при сбое, нужна регулярная сверка с источником
  2. Сообщение может прийти повторно, обработка должна быть идемпотентнойправильный ответ
  3. Сообщения приходят строго один раз, ничего учитывать не нужно
  4. Сообщения приходят строго по порядку при любых сбоях

Разбор

At least once означает «не меньше одного раза»: при сбое между обработкой и подтверждением сообщение придёт ещё раз. Значит потребитель хранит id обработанных сообщений или делает операцию безопасной для повтора. Потеря характерна для at most once. Ровно один раз это exactly once. Порядок к гарантии доставки не относится.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.