Выбор ответа Middle Очереди и события обновлено
Ядовитое сообщение
Вопрос
Одно сообщение в очереди всегда роняет обработчик из-за битого формата. Очередь встала. Какое решение правильное?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Несколько ретраев с задержкой, затем в DLQ и алерт. После N неудачных попыток сообщение уходит в DLQ, очередь продолжает работу, а мониторинг сигналит разбирать DLQ.
Варианты ответа
- Несколько ретраев с задержкой, затем в DLQ и алертправильный ответ
- Бесконечные ретраи, пока не починят код обработчика
- Удалять сообщения, которые упали хотя бы один раз
- Перезапускать консьюмер по крону каждые пять минут
Разбор
После N неудачных попыток сообщение уходит в DLQ, очередь продолжает работу, а мониторинг сигналит разбирать DLQ. Бесконечные ретраи блокируют всё остальное. Удаление после первой ошибки теряет данные при временных сбоях (сеть, недоступная БД). Перезапуск консьюмера ничего не меняет: сообщение снова придёт первым.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.