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