advanced
Dead-letter queues
Отправляйте exhausted или invalid messages в dead-letter queue с контекстом для diagnosis, replay, quarantine или manual repair.
Dead-letter queue (DLQ) хранит сообщения, которые не удалось обработать после retry или которые сразу не прошли валидацию. Полезная DLQ сохраняет исходный payload, причину сбоя, stack trace или код ошибки, идентификатор consumer и метки времени для разбора без воспроизведения production-трафика.
Операционные сценарии: inspect, исправление кода или данных, контролируемый batch replay и карантин безнадёжных сообщений. Ограничивайте доступ к DLQ — там часто чувствительные данные. Алертуйте по скорости роста DLQ, а не только по абсолютной глубине.
На интервью: опишите шаги runbook по DLQ, чем replay отличается от автоматического retry и какие метаданные обязательны в каждом dead-letter сообщении.
Типовые ошибки: DLQ без владельца; массовый replay после деплоя без выборки; отсутствие correlation ID; нет retention и DLQ превращается в бесконечное хранилище.
Чеклист:
- Фиксируйте причину сбоя и correlation ID.
- Алерт по скорости поступления в DLQ.
- Runbook для replay и карантина.
- Ограничьте доступ и задайте retention.