目录
一、死信交换机和队列
1.1、需求分析
当生产者发送了一个消息,经过交换机到达队列时,满足下列情况之一时,就可以成为死信:
- 消费者使用 basic.reject 或 basic.nack 声明消费失败,并且消息的 requeue 参数设置为 false(消息不重新加入到队列中).
- 消息设置了过期时间,到了时间没有被消费掉.
- 要投递的队列消息堆积满了(队列设置了最大消息数目),最早的消息可能会成为死信(LRU 算法淘汰的消息).
此时,只要这个队列配置了 dead-letter-exchange(死信交换机)和 dead-letter-routing-key(死信 routingKey),那么这个队列就会把消息通过 死信交换机 发送给对应的 死信队列.
因此这里我去实现的时候,只需要给队列再增加两个属性,