Выбор ответа Middle Очереди и события обновлено

Ядовитое сообщение

Вопрос

Одно сообщение в очереди всегда роняет обработчик из-за битого формата. Очередь встала. Какое решение правильное?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Несколько ретраев с задержкой, затем в DLQ и алерт. После N неудачных попыток сообщение уходит в DLQ, очередь продолжает работу, а мониторинг сигналит разбирать DLQ.

Варианты ответа

  1. Несколько ретраев с задержкой, затем в DLQ и алертправильный ответ
  2. Бесконечные ретраи, пока не починят код обработчика
  3. Удалять сообщения, которые упали хотя бы один раз
  4. Перезапускать консьюмер по крону каждые пять минут

Разбор

После N неудачных попыток сообщение уходит в DLQ, очередь продолжает работу, а мониторинг сигналит разбирать DLQ. Бесконечные ретраи блокируют всё остальное. Удаление после первой ошибки теряет данные при временных сбоях (сеть, недоступная БД). Перезапуск консьюмера ничего не меняет: сообщение снова придёт первым.

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

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