DLQ - очередь для сообщений, которые не удалось обработать (nack без requeue, TTL истек, limit exceeded). При объявлении очереди задают x-dead-letter-exchange и опционально x-dead-letter-routing-key. Необработанные сообщения попадают в DLQ для разбора и ретраев. В Go настраивают при QueueDeclare; отдельный consumer обрабатывает DLQ (логирование, алерты, повторная публикация).
args := amqp.Table{"x-dead-letter-exchange": "dlx"}
ch.QueueDeclare("tasks", true, false, false, false, args)