Вступить в клуб →
сложнаявопросОчереди, надёжность и эксплуатация

Ядовитое сообщение крутит очередь по кругу

Ночью очередь orders.process выросла с нуля до 400 тысяч сообщений. В логах воркеров одно и то же: одно и то же сообщение вызывает исключение при разборе тела, воркер не подтверждает его, брокер возвращает сообщение в очередь и отдаёт снова — сразу же, без задержки. Полезная работа почти не идёт, нагрузка на базу выросла втрое из-за постоянных повторов.

Какой набор мер корректно закрывает эту ситуацию?

  • Подтверждать любое сообщение независимо от результата обработки: очередь перестанет расти, а сбои разберём по логам
  • Считать попытки, повторять с растущей задержкой и после лимита отправлять сообщение в dead-letter очередь
  • Добавить воркеров: с большей пропускной способностью очередь разберётся сама и вернётся к норме без правок в коде
  • Очистить очередь и перезапустить воркеры, а чтобы не повторилось — обернуть обработчик в `try/catch` и глушить ошибки

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела