死信 与 死信交换机【Spring Cloud - 服务异步通信】

发布时间 2023-06-25 21:30:28作者: Rover20230226

什么是死信?

当一个队列中的消息满足下列情况之一时,可以称为死信(dead letter):

  -  消费者使用 basic.reject 或 basic.nack 声明消费失败,并且消息的 requeue 参数设置为 false

  -  消息是一个过期消息,超时无人消费

  -  要投递的队列消息慢了,无法投递

 

什么是死信交换机?

如果这个包含死信的队列配置了 dead-letter-exchange 属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为死信交换机(Dead Letter Exchange,简称 DLX)

 

死信交换机的使用场景

  -  如果队列绑定了死信交换机,死信会投递到死信交换机;

  -  可以利用死信交换机收集所有消费者处理失败的消息(死信),交由人工处理,进一步提高消息队列的可靠性。