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

RabbitMQ的死信队列

1.死信的概念

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

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

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

1.消息被拒绝

2.消息过期

3.队列达到最大长度 

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

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

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

1.3死信队列的应用场景

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


http://www.mrgr.cn/news/69263.html

相关文章:

  • 网络安全练习之 ctfshow_web
  • Ceph 中PG与PGP的概述
  • HTML5:网页开发的新纪元
  • PL/0-语法分析器
  • 跟李笑来学美式俚语(Most Common American Idioms): Part 02
  • STM32从上电开始启动过程详解(上电->分散加载->main函数)
  • 【数字图像处理】一篇搞定傅里叶变换
  • Cannot read properties of undefined (reading ‘$isServer‘)
  • 算力网络多方资源共享机制:算力交易
  • Selenium自动化测试 —— 模拟鼠标键盘的操作事件
  • gee数据——planet全球高分辨率影像的矢量范围(亚洲、美洲)
  • HuggingFace中from_pretrained函数的加载文件
  • 如何编写和运行go语言单元测试?
  • day55 图论章节刷题Part07([53.寻宝]prim算法、kruskal算法)
  • 《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)
  • Linux网络管理和修改配置文件
  • 《 C++ 修炼全景指南:十九 》想懂数据库?深入 B 树的世界,揭示高效存储背后的逻辑
  • Pycharm,2024最新版Pycharm下载安装配置教程!
  • 【划分型 DP-最优划分】力扣2707. 字符串中的额外字符
  • C#(asp.net)民宿客房管理系统-计算机设计毕业源码76233
  • Leetcode刷题Python之3242.设计相邻元素求和服务
  • 不同系统,单点登录实现解决方案,一次登录多系统验证!
  • AHB Matrix 四星级 验证笔记(2.4) Tt3.3AHB总线协议测试时的 并行数据
  • 更改Ubuntu22.04锁屏壁纸
  • U盘@购买攻略@检测工具@扩容检测
  • 大数据面试题--kafka夺命连环问