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