接上两篇:
RabbitMQ优先级队列
RabbitMQ惰性/延迟队列
继续补充RabbitMQ队列知识,
啥是死信?
即无法被某个原生队列消费的消息
(可能由于消息过期、拒绝消费和达到队列存储上限产生),
但是,消息也不应该不处理直接丢弃,
因此,统一将该类信息转储到死信队列,
当然,不是天然就可以转储的,需要为原生队列配置死信相关信息,如死信交换器、死信路由键,
最重要,是保证存储死信的队列正常工作。
死信架构如下图所示,
由图可知,默认队列default-queue正常入队和出队消息,
当入队和出队发生消息成为死信的状况时,
会将该死信消息发送到为队列default-queue配置的存储死信消息的队列:dlx-queue,
死信队列、路由键和队列是独立于正常队列的一套完整入队出队系统,
只不过该系统专门用于处理死信(消息)。
