RabbitMQ的死信队列

server/2024/11/15 4:07:46/

1.死信的概念

死信简单理解就是因为种种原因,无法被消费的消息.

有死信自然就有死信队列,消息再一个队列中编程死信之后,它能被重新发送到另一个交换器中,这个交换器就是DLX,绑定DLX的队列,就被称为死信队列,简称DLQ

消息变成死信一般由于一下几种情况:

1.消息被拒绝

2.消息过期

3.队列达到最大长度 

1.2正常队列绑定死信交换机

java">retrn QueueBuilder.durable(Constant.NORMAL_QUEUE).deadLetterExchange(Constant.DLX_EXCHANGE_NAME).deadLetterRoutingKey("dlx").build();

当这个队列存在死信时,RabbitMQ会自动把这个消息重新发布到设置的DLX上,进而被路由到死信队列上。 

1.3死信队列的应用场景

  • 消息重试:将死信消息重新发送到原队列或另一个队列进行重试处理,比如,在一个支付系统中,支付结果通知消息可能因为网络问题无法被支付回调服务及时消费,那么可以将该消息放入死信队列,稍后再进行重试,直到消费成功。
  • 消息丢弃:直接丢弃这些无法处理的消息,以避免他们占用系统资源
  • 日志收集:将私信消息作为日志收集起来,用于后续分析和问题定位
  • 例如,一个电商系统中,订单处理服务在消费订单消息时,如果因为库存不足无法完成订单处理,那么该订单消息就可以被发送到死信队列中,等待人工介入或者后续的库存补充后再进行处理


http://www.ppmy.cn/server/142017.html

相关文章

技术专家之路:深耕高门槛领域的策略

技术专家之路:深耕高门槛领域的策略 引言 随着科技行业的飞速发展,技术专家成为了职场上炙手可热的角色。他们不仅享有高度的职业满意度,还能获得优渥的薪酬。本文旨在探讨如何通过选择并深耕高门槛领域,实现技术专家的职业目标…

从ROS Bag文件提取点云数据并保存为PCD格式进行处理 ros ubuntu

从ROS Bag文件提取点云数据并保存为PCD格式进行处理 要从ROS bag文件中有效地提取点云数据并利用PCL库对其进行进一步处理,需要通过一系列精确且专业的操作。下面是一个详细的步骤指南,这些步骤不仅详细介绍了如何操作,而且强调了确保数据处…

Mac打开time machine(时间机器)备份特殊文件

Mac 打开time machine(时间机器)备份特殊文件 设置“时间机器”的作用具体操作办法 前言:今天在使用Nas同步文件时发现有部分重要文件没有同步,为了省事手动拖拽复制文件,导致其中一份非常重要的文件丢失,尝…

MySQL初学之旅(2)增删改查—上

目录 1.前言 2.正文 2.1新增数据 2.1.1插入单行数据 2.1.2插入多行数据 2.2查询数据(重要) 2.2.1全列查询 2.2.2指定列查询 2.2.3查询字段为表达式 2.2.4别名 2.2.5去重 2.2.6排序 2.2.7条件查询 2.3修改数据 2.4删除数据 3.小结 1.前言…

Vue的基础使用

一、为什么要学习Vue 1.前端必备技能 2.岗位多,绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能(Vue2Vue3) 二、什么是Vue 概念:Vue (读音 /vjuː/,类似于 view) 是一套 构建用户界面 的 渐进式 框架…

Unity网络通信(part7.分包和黏包)

目录 前言 概念 解决方案 具体代码 总结 分包黏包概念 分包 黏包 解决方案概述 前言 在探讨Unity网络通信的深入内容时,分包和黏包问题无疑是其中的关键环节。以下是对Unity网络通信中分包和黏包问题前言部分的详细解读。 概念 在网络通信中,…

【go从零单排】Regular Expressions正则表达式

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 Go 中的正则表达式是通过 regexp 包提供的,允许开发者使用强大的模式…

【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:创新与应用

一、引言 随着科技的迅猛发展,声音克隆技术已经成为一个炙手可热的研究领域。SoVITS(Sound Voice Intelligent Transfer System),作为该领域的先锋,凭借其卓越的性能和广泛的适用性,正在为多个行业带来前所…