RabbitMQ 的死信队列、延迟队列

简介: RabbitMQ 的死信队列、延迟队列

死信队列:

死信队列是专门存放那些死信消息的,也就是我们配置死信队列可以将那些将会被丢弃的死信消息放入队列中。

死信消息:

1. 消息被消费方否认确认的,消费者使用 channel.basicNack 或 channel.basicReject 返回给队列的,并且此时 requeue(重新发送)属性被设置为 false。(默认为 true)

2. 消息在队列的存活时间超过设置的 TTL 时间。

3. 消息队列的消息数量已经超过最大队列长度。(队列会将老的数据排出去)

死信队列是绑定在死信交换机上的队列,死信交换机也不是什么特殊的交换机,只不过是用来接受死信的交换机,所以可以为任何类型【Direct、Fanout、Topic】

 

延迟队列:

TTL:一条消息或者该队列中的而所有消息的最大存活时间

如果一条消息设置了 TTL 属性或进入了设置 TTL 属性的队列,那么这条消息如果在 TTL 设置的时间内没有被消费,则会称为 “死信”。如果同时配置了队列的 TTL 和消息的 TTL,那么较小的那个值将会被使用。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
消息中间件 存储 监控
RabbitMQ 队列之战:Classic 和 Quorum 的性能洞察
RabbitMQ 是一个功能强大的消息代理,用于分布式应用程序间的通信。它通过队列临时存储消息,支持异步通信和解耦。经典队列适合高吞吐量和低延迟场景,而仲裁队列则提供高可用性和容错能力,适用于关键任务系统。选择哪种队列取决于性能、持久性和容错性的需求。
130 6
|
2月前
|
消息中间件 JSON Java
|
2月前
|
消息中间件
rabbitmq,&队列
rabbitmq,&队列
|
2月前
|
消息中间件 JSON Java
玩转RabbitMQ声明队列交换机、消息转换器
玩转RabbitMQ声明队列交换机、消息转换器
87 0
|
消息中间件 Linux
centos7 yum快速安装rabbitmq服务
centos7 yum快速安装rabbitmq服务
226 0
|
消息中间件 中间件 微服务
RabbitMQ 入门简介及安装
RabbitMQ 入门简介及安装
121 0
|
消息中间件 Ubuntu Shell
ubuntu安装rabbitmq教程 避坑
ubuntu安装rabbitmq教程 避坑
479 0
|
消息中间件 存储 网络协议
Rabbitmq的安装与使用
Rabbitmq的安装与使用
259 0
|
消息中间件 数据安全/隐私保护 Windows
【MQ】Windows上RabbitMQ的安装与启动
【MQ】Windows上RabbitMQ的安装与启动
454 0