当前位置: 首页 > news >正文

RabbitMQ中的死信交换机?(RabbitMQ延迟队列有了解过吗)

延迟队列

延迟队列:进入队列的消息会被延迟消费的队列。

延迟队列=死信交换机 + TTL(过期时间)

延迟队列的使用场景:超时订单、限时优惠、定时发布

死信交换机 

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

  • 消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false
  • 队列中的消息是一个过期消息,超时未消费
  • 要投递的队列消息堆积满了,最早的消息可能成为死信

如果该队列配置了dead-letter-exchange属性 去 指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个接收死信的交换机称为死信交换机(Dead Letter Exchange,简称DLX),最后把死信交换机当成正常的交换机用就可以了。

TTL

TTL,也就是Time-To-Live。如果一个队列中的消息TTL结束仍未消费,则会变为死信,ttl超时分为两种情况:

  • 消息所在的队列设置了存活时间
  • 消息本身设置了存活时间
  • 当以上两个都设置了,则哪个的TTL短就用哪个

延迟队列插件

安装这个插件,实现延迟队列就很容易:

在声明交换机的时候,添加delayed = "true",然后它就是可以实现延迟队列的交换机了:

发消息的时候设置消息的TTL:

回答

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [Labview] 表格改值后单元格编辑功能,更改颜色、字体、颜色等
  • sqli-labs靶场通关攻略(五十一到五十六关)
  • 数据线性结构
  • Notepad++回车不自动补全
  • opencv之形态学
  • flutter 类似Android 中RelativeLayout在末尾居中
  • Golang | Leetcode Golang题解之第386题字典序排数
  • STM32(八):定时器——输入捕获实验
  • [译] APT分析报告:12.APT29利用spy软件供应商创建的IOS、Chrome漏洞
  • VSCode+debugpy远程调试
  • 第六课,模运算进阶,计算机存储单位
  • 2024HarmonyOS应用开发者高级认证最新整理题库和答案(已收录182道 )
  • WiFi标签注册(电脑版)
  • Loki Unable to fetch labels from Loki (no org id)
  • LeetCode --- 412周赛
  • fetch 从初识到应用
  • Mysql优化
  • SpingCloudBus整合RabbitMQ
  • Spring核心 Bean的高级装配
  • v-if和v-for连用出现的问题
  • Web Storage相关
  • 闭包--闭包之tab栏切换(四)
  • 分类模型——Logistics Regression
  • 马上搞懂 GeoJSON
  • 前端存储 - localStorage
  • 数组的操作
  • 原生 js 实现移动端 Touch 滑动反弹
  • 正则表达式
  • Java总结 - String - 这篇请使劲喷我
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ## 1.3.Git命令
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (回溯) LeetCode 46. 全排列
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .Net插件开发开源框架
  • .Net组件程序设计之线程、并发管理(一)
  • @RequestBody与@ModelAttribute
  • @Validated和@Valid校验参数区别
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [Android]如何调试Native memory crash issue
  • [C#数据加密]——MD5、SHA、AES、RSA
  • [C++]入门基础(1)
  • [HDU5685]Problem A
  • [html] 动态炫彩渐变背景
  • [java进阶]——方法引用改写Lambda表达式