Выбор ответа Middle Асинхронные интеграции и брокеры спрашивают часто обновлено
Гарантия at least once
Вопрос
Брокер настроен на доставку at least once. Что обязан учесть потребитель?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Сообщение может прийти повторно, обработка должна быть идемпотентной. At least once означает «не меньше одного раза»: при сбое между обработкой и подтверждением сообщение придёт ещё раз.
Варианты ответа
- Сообщение может потеряться при сбое, нужна регулярная сверка с источником
- Сообщение может прийти повторно, обработка должна быть идемпотентнойправильный ответ
- Сообщения приходят строго один раз, ничего учитывать не нужно
- Сообщения приходят строго по порядку при любых сбоях
Разбор
At least once означает «не меньше одного раза»: при сбое между обработкой и подтверждением сообщение придёт ещё раз. Значит потребитель хранит id обработанных сообщений или делает операцию безопасной для повтора. Потеря характерна для at most once. Ровно один раз это exactly once. Порядок к гарантии доставки не относится.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.