一、死信队列(deadLetters)
1.死信产生的三种方式
(1)消息被消费者拒绝,requeue设置为false
message在正常传输中消费者执行了nack或者reject且requeue变为false则将该message存储到死信交换机,再送入死信队列,重新被其他的消费者消费
(2)消息的TTL到期
消息的TimeToLive生存周期到期
(3)消息队列的长度达到最大长度,新进来的消息变为死信
消息队列的长度达到限制,存不进去新的信息
基于死信队列,队列消息已满的情况下,消息也不会丢失,剩余的部分会被丢到死信队列中去
2.死信队列的应用:
(1)处理过长的消息队列,保障消息不丢失
(2)实现延迟消费效果:比如下订单时有15分钟的付款时间
二、延迟交换机
通过死信队列实现延迟交换