Ответ вслух Junior Очереди и события обновлено

Зачем нужна очередь

Вопрос

Зачем в системе очередь сообщений? Приведите примеры.

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Очередь нужна, когда отправителю не обязательно ждать результата. Пример: после оформления заказа отправка письма, пересчёт рекомендаций и аналитика уходят в очередь, а пользователь сразу видит «заказ принят».

Что должно прозвучать в ответе

  • Асинхронность: пользователь не ждёт долгой работы

  • Сглаживание пиков: очередь копит, консьюмеры разбирают

  • Развязка сервисов: продюсер не знает о получателях

  • Ретраи при временных сбоях получателя

  • Цена: eventual consistency, дубли, мониторинг отставания

Что могут спросить следом

  • Чем очередь хуже прямого вызова?
  • Что делать, если очередь растёт?

Разбор

Очередь нужна, когда отправителю не обязательно ждать результата. Пример: после оформления заказа отправка письма, пересчёт рекомендаций и аналитика уходят в очередь, а пользователь сразу видит «заказ принят». Вторая причина: пики. В распродажу заказов в 10 раз больше, очередь их накопит, а обработчики разберут в своём темпе. Третья: развязка. Сервис заказов публикует событие и не знает, сколько подписчиков. Четвёртая: если почтовый провайдер лежит, сообщение повторится позже. Цена: результат появляется не мгновенно, возможны дубли, нужно следить за отставанием и разбирать DLQ.

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

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