TGViewer
BA & SA | 10000 Interview questions BA & SA | 10000 Interview questions @systemanalystinterview · 10.3K subscribers
Post #12275 619
☀Объяснение:

В брокерах сообщений (RabbitMQ, Kafka, SQS) потребитель может упасть при обработке конкретного сообщения из-за ошибки в данных (например, некорректный JSON, отсутствие обязательного поля). Если настроить автоматические повторные попытки, это сообщение будет циркулировать бесконечно, блокируя обработку других сообщений (особенно в очередях с гарантией порядка). Это приводит к простою всей системы.

Что такое Dead Letter Queue (DLQ)?
DLQ — это специальная очередь (или топик), куда направляются сообщения, которые не удалось обработать после нескольких попыток (например, 3). Механизм работает так:
Сообщение попадает в основную очередь.
Потребитель пытается обработать его N раз (например, 3) с увеличивающейся задержкой (exponential backoff).
После исчерпания попыток сообщение автоматически перемещается в DLQ.
Основная очередь продолжает обрабатывать новые сообщения без блокировки.
Администратор или отдельный сервис анализирует DLQ, исправляет данные и повторно отправляет сообщение в основную очередь.

Сравнение с другими вариантами:
A (Увеличение потребителей) – не помогает, так как все потребители будут получать одно и то же «плохое» сообщение и падать.
B (Транзакционная запись) – обеспечивает атомарность, но не решает проблему изоляции ошибочных сообщений.
D (Автоматический повтор) – полезен для временных сбоев, но бесполезен для ошибок в данных; повтор будет бесконечным, пока очередь не заблокируется.

Реальный пример:
В сервисе заказов при интеграции со сторонним API иногда приходят заказы с некорректным форматом адреса. Без DLQ такие заказы «зависали» в очереди и блокировали обработку всех остальных. Внедрение DLQ позволило перемещать проблемные заказы в отдельную очередь, где их вручную правили операторы, а основной поток заказов обрабатывался без задержек.

Что должен зафиксировать аналитик:
«Для каждой критической очереди должна быть настроена Dead Letter Queue».
«Количество повторных попыток — не более 3, с экспоненциальной задержкой».
«Предусмотреть мониторинг DLQ и алертинг при накоплении сообщений».

Вывод: DLQ — это обязательный паттерн для отказоустойчивой обработки сообщений, позволяющий изолировать проблемные данные и не останавливать основной бизнес-процесс.
More from @systemanalystinterview
  1. Sep 3, 2026А ИИ действительно экономит время? На деле ИИ может взять на себя рутину: анализировать да…
  2. Aug 26, 2026До 1 сентября остаётся меньше недели, и мы с вами официально вступаем в самую активную пор…
  3. Aug 21, 2026Если вы работаете в сфере IT, развиваетесь в технологиях или просто хотите быть в курсе са…
  4. Aug 20, 2026🔈 Как найти работу в 2026 году Вы все слышали о том, что происходит с рынком труда (если…
  5. Aug 20, 2026Post #12336
  6. Aug 20, 2026№4931 категория вопросов: #REQUIREMENTS
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →