第二十章 : Spring Boot 集成RabbitMQ(四)

第二十章 : Spring Boot 集成RabbitMQ(四)

前言

本章知识点:死信队列的定义、场景、作用以及原理、TTL方法的使用以及演示代码示例。

Springboot 版本 2.3.2.RELEASE ,RabbitMQ 3.9.11,Erlang 24.2

死信队列

定义:什么是死信队列?

在RabbitMQ中,并没有提供真正意义上的延迟队列,但是RabbitMQ可以设置队列、消息的过期时间,当队列或者消息到达过期时间之后,还没有被消费者消费,那么RabbitMQ会将这些消息放入另外一个队列,这个队列叫做:死信队列,而这个过期的消息就叫做:死信消息。

哪些情况下,消息会变成死信消息?

  • 第一种情况:Queue队列已经满了,无法保存新进入的消息,那么这个消息就会被放入死信队列。
  • 第二种情况:队列中的消息被消费者拒绝消费了,并且没有设置重新放入Queue队列里面。
  • 第三种情况:队列中的消息到了过期时间还没有被消费者消费。
场景

RabbitMQ的死信队列提供了一种灵活和可靠的机制来处理无法被消费或需要特殊处理的消息,常见应用场景:

  1. 错误处理

你可能感兴趣的:(Spring,Boot,系列,java-rabbitmq,spring,boot,rabbitmq,死信队列)