Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Message Queue
    • Обзор
    • Очереди сообщений
    • Сообщения
    • Дедупликация
    • Таймаут видимости
    • Long Polling
    • Что такое Dead Letter Queue (DLQ)
    • Отложенная доставка сообщений в очереди
    • Квоты и лимиты
    • Метки очередей
    • Сравнение с Yandex Data Streams
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Публичные материалы
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Политика перенаправления
  • Применение
  • Со стандартными очередями
  • С очередями FIFO
  1. Концепции
  2. Что такое Dead Letter Queue (DLQ)

Что такое Dead Letter Queue (DLQ)

Статья создана
Yandex Cloud
Обновлена 12 января 2023 г.
  • Политика перенаправления
  • Применение
    • Со стандартными очередями
    • С очередями FIFO

Dead Letter Queue (DLQ) — это очередь, куда могут перенаправляться сообщения, которые не смогли обработать получатели в обычных очередях. Сообщения могут не обработаться по ряду причин, например, из-за изменившихся состояний отправителя или получателя. Перенаправленные в DLQ сообщения будут храниться там для дальнейшей диагностики и больше не будут мешать работе приложений.

Если сообщение не удается считать из очереди после заданного количества попыток, то его можно перенаправить в DLQ. Количество попыток считывания и идентификатор DLQ определяются политикой перенаправления, установленной для очереди из которой будут перемещаться сообщения.

Политика перенаправленияПолитика перенаправления

Условия перенаправления сообщений в DLQ задаются политикой перенаправления.

Политика перенаправления настраивается с помощью атрибута RedrivePolicy в методах CreateQueue и SetQueueAttributes.

В атрибуте указываются DLQ, куда будут перемещаться сообщения, и параметр maxReceiveCount, определяющий максимальное количество попыток получения сообщения перед отправкой в DLQ. Когда значение параметра ReceiveCount у сообщения превышает значение maxReceiveCount, сообщение перенаправляется в DLQ. При перемещении в DLQ сообщение сохраняет свой идентификатор.

ПрименениеПрименение

Со стандартными очередямиСо стандартными очередями

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

Если вам необходимо обрабатывать большое количество сообщений, среди которых часто попадаются те, которые не удается обработать потребителям, то используйте DLQ, чтобы не ждать окончания срока хранения дефектных сообщений, а убирать их из основной очереди после нескольких неудачных попыток обработки. Это позволит снизить затраты и уменьшить нагрузку на оборудование и виртуальные машины. Большое количество необработанных сообщений в стандартных очередях может замедлить работу ваших приложений.

Для стандартных очередей DLQ тоже должна быть стандартной очередью.

С очередями FIFOС очередями FIFO

При использовании DLQ с очередями FIFO может нарушиться порядок обработки сообщений. Если сообщение из группы не будет обработано, то прекратится обработка всей группы сообщений. Получатель может продолжить обработку этой группы сообщений только после того, как дефектное сообщение будет успешно обработано. Убедитесь, что ваше приложение корректно обрабатывает все сообщения, иначе вся очередь FIFO может быть заблокирована из-за одного сообщения.

Для очереди FIFO DLQ тоже должна быть очередью FIFO.

Была ли статья полезна?

Предыдущая
Long Polling
Следующая
Отложенная доставка сообщений в очереди
Проект Яндекса
© 2025 ООО «Яндекс.Облако»