Как проектировать DLQ правильно (чек-лист)
Архитектура
🉑 DLQ на каждый consumer, а не одна общая «помойка».
🉑 Ограниченный retention с архивированием.
🉑 Версионирование схем сообщений.
Данные
🉑Полный payload.
🉑Структурированные error metadata.
🉑 Возможность трассировки через observability.
Автоматизация
☯️ Retry policy (exponential backoff)
☯️ Circuit breaker
☯️ Dead letter routing policy
☯️ Replay tool
Наблюдаемость
📎 Метрика размера DLQ
📎 Метрика скорости роста
📎 Топ ошибок по типам
📎 Alert при превышении порога
Зрелый взгляд на DLQ
На зрелом уровне DLQ — это:
- механизм изоляции «ядовитых» сообщений
- инструмент обнаружения регрессий
- индикатор проблем интеграции
- источник данных для улучшения схем и контрактов
Если DLQ растет — это не «операционная проблема».
Это сигнал о:
- нарушенном контракте
- деградации сервиса
- несовместимости версий,
- проблеме в бизнес-логике.
DLQ — это монитор качества событийной архитектуры.
И если к ней относиться как к мусорке — она станет мусоркой.
Если относиться как к инструменту отладки — она станет системой раннего предупреждения.
Post #134
109