加载中...

死信队列(Dead Letter Queue,DLQ)是消息系统中用于存放无法被正常投递或消费的消息的特殊队列。消息被移入死信队列后不再参与正常消费流程,等待人工或程序做进一步处理。
常见的死信来源包括:消费失败并重试超过最大次数;消息在队列中超过存活时间(TTL)过期;队列长度超限被挤出;消息被消费者显式拒绝(如 AMQP 的 reject/nack 且不重回队列)。
死信队列的核心价值是隔离毒消息(poison message):个别格式错误或触发程序缺陷的消息若无限重试,会阻塞队列、拖垮消费者;移入 DLQ 后主流程得以继续,同时保留现场供排查。运维上通常会对 DLQ 积压量设告警,并提供人工修复后重新投递的机制。
RabbitMQ 通过队列的 dead-letter-exchange 参数配置;RocketMQ 为每个消费组自动创建 %DLQ% 前缀的死信主题;SQS、Kafka Connect 等也内置类似能力。

登录 后参与讨论
暂无讨论,来发表第一条评论吧