digital-garden/dev/kafka/Dead Letter Queue.md

34 lines
2.8 KiB
Markdown
Raw Normal View History

2024-11-13 18:53:59 +03:00
---
aliases:
- DLQ
tags:
- maturity/🌱
date: 2024-11-12
---
**DLQ (Dead Letter Queue)** — это специальная очередь, используемая в системах обработки сообщений, таких как [[../../../../_inbox/00 Kafka|Kafka]], для хранения сообщений, которые не могут быть обработаны основным потребителем. Основное назначение DLQ — изолировать проблемные сообщения, чтобы они не блокировали остальную обработку и позволить команде разобраться с ними позже, не нарушая работы системы.
> [!WARNING] Не лечите симптом
> Попадание событий в DLQ говорит о сбоях в работе системы, которые необходимо исправлять. Обработка DLQ делается на всякий случай и не является решением проблемы.
Подходы по обработке DLQ сообщений:
- [[Перенос DLQ сообщений обратно в основной топик]]
- **Анализ и исправление ошибок**: Можно настроить процесс, который анализирует причины неудачной обработки и предпринимает меры по их исправлению (например, корректировка данных или обновление логики обработки).
- **Уведомления и алерты**: Настроить систему оповещений, которая уведомляет команду о наличии сообщений в DLQ, чтобы они могли вручную принять меры.
- **Отложенная повторная обработка**: Использовать механизм отложенной повторной попытки с экспоненциальной задержкой, чтобы избежать постоянного быстрого переотправления сообщений.
***
## Мета информация
**Область**:: [[00 Kafka]]
**Родитель**::
**Источник**::
**Создана**:: [[2024-11-12]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
<!-- SerializedQuery: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
- [[Перенос DLQ сообщений обратно в основной топик]]
<!-- SerializedQuery END -->