死信队列用于处理无法被正常消费的消息。当一条消息初次消费失败,消息队列会自动进行消息重试;达到最大重试次数后,若消费依然失败,则表明消费者在正常情况下无法正确地消费该消息,此时,消息队列 不会立刻将消息丢弃,而是将其发送到该消费者对应的特殊队列中。

RocketMQ将这种正常情况下无法被消费的消息称为死信消息(Dead-Letter Message),将存储死信消息的特殊队列称为死信队列(Dead-Letter Queue),简称DLQ。如果消息延时级别小于0,那么也会立即放入死信队列。

死信队列中的消息需要人工干预,在RocketMQ中,可以通过使用console控制台对死信队列的权限更改为读写,然后对消息进行重发来或者订阅对应的Topic使得消费者实例再次进行消费。

RocketMQ会为每个消费组都设置一个Topic名称为 %DLQ%+consumerGroup 的死信队列。这里需要注意的是,和重试队列一样,这里的死信队列是针对消费组,而不是针对每个Topic设置的。死信队列并不会一开始就创建,而是真正需要使用到的时候才会创建。

版本3.4.9之后,可通过consumer 客户端参数maxReconsumeTimes设置最大重试次数,超过最大重试次数,消息将被转移到死信队列,有效范围是-1 – 16之间。maxReconsumeTimes默认-1,对于有序消费模式表示默认本地Integer.MAX_VALUE次重试消费,每次间隔1s;对于并发无序消费模式MessageListenerConcurrently,表示默认16次延时消费,默认从Level 3开始。

相关文章:

RocketMQ

如有需要交流,或者文章有误,请直接留言。另外希望点赞、收藏、关注,我将不间断更新各种Java学习博客!

RocketMQ的死信队列相关推荐

  1. RocketMQ——查看死信队列

    在上篇博客中我们了解了RocketMQ的ACK机制,其中涉及到了消息消费重试,当重试次数达到默认的16次后(可以通过配置文件修改)如果对应的消息还没被成功消费的话,该消息就会投递到DLQ死信队列. 不 ...

  2. 【RocketMQ】消息重试、重试次数设置、死信队列

    文章目录 1. 死信队列 1.1 死信特性 1.2 查看死信消息 2.重试次数参数 2.1 Producer端重试 2.2 Consumer端重试 3.1 异常重试 3.2 超时重试 参考 1. 死信 ...

  3. RocketMQ 死信队列

    RocketMQ 死信队列 死信队列 死信队列是什么? 死信队列指的是种正常情况下无法被消费的消息称为死信消息(Dead-Letter Message),存储死信消息的特殊队列称为死信队列(Dead- ...

  4. rocketmq 几种队列_这篇进阶必看的RocketMQ,答应我看完好吗?

    RocketMQ 整体架构设计 整体的架构设计主要分为四大部分,分别是:Producer.Consumer.Broker.NameServer. 为了更贴合实际,我画的都是集群部署,像 Broker ...

  5. 【重难点】【RabbitMQ 01】消息队列的作用、主流的消息队列、RabbitMQ 基于什么传输消息、RabbitMQ 模型架构、死信队列和延迟队列

    [重难点][RabbitMQ 01]消息队列的作用.主流的消息队列.RabbitMQ 基于什么传输消息.RabbitMQ 模型架构.死信队列和延迟队列 文章目录 [重难点][RabbitMQ 01]消 ...

  6. rocketmq 几种队列_进阶必看的 RocketMQ ,就这篇了

    RocketMQ 整体架构设计 整体的架构设计主要分为四大部分,分别是:Producer.Consumer.Broker.NameServer. 为了更贴合实际,我画的都是集群部署,像 Broker ...

  7. 6.RokcketMQ消息重试与死信队列

    消息发送重试机制 Producer对发送失败的消息进行重新发送的机制,称为消息发送重试机制,也称为消息重投机制. 对于消息重投,需要注意以下几点: 生产者在发送消息时,若采用同步或异步发送方式,发送失 ...

  8. activeMQ - 消息重发策略和DLQ死信队列

    2019独角兽企业重金招聘Python工程师标准>>> 1:死信队列简介 DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息. 出现以下情况时,消息 ...

  9. 面试官:说说RabbitMQ 消费端限流、TTL、死信队列

    欢迎关注方志朋的博客,回复"666"获面试宝典 1. 为什么要对消费端限流 假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户 ...

最新文章

  1. php安装模式mod_php和Fastcgi的选择与对比
  2. J2SE7规范_2013.2_类型_命名
  3. 未解决:关于下载的ipython notebook打开的时候遇到问题的解决方法: NotJSONError(“Notebook does not appear to be JSON
  4. 全面质量管理体系方案
  5. 教务管理系统数据字典mysql_数据库课程设计报告--教务管理系统设计
  6. 新电商正面迎战“阅读焦虑”
  7. 2021雪花飘新年倒计时源码
  8. 解决QFontDatabase: Cannot find font directory XXX/lib/fonts
  9. Android之 APP创建或删除快捷方式
  10. python大数据运维工程师待遇_什么是大数据运维工程师
  11. Android 获取手机存储总大小,系统占用空间
  12. 几款漂亮的Eclipse编辑器皮肤 .
  13. 15个常用excel函数公式_【Excel公式函数】一大波常用的日期公式来袭,强烈建议收藏!...
  14. 使用Nginx访问图片报404
  15. 尚硅谷智慧校园-3、年级管理系统的实现
  16. 拍卖理论 英式拍卖 和 荷兰式拍卖 是什么
  17. ubuntuPC机安装JLink驱动
  18. ZZULI - 建国与回文串
  19. 1块金属片在射频天线中的作用
  20. 史上前端面试题(HTML)

热门文章

  1. 虫儿飞计算机版音乐怎么弹,虫儿飞尤克里里弹唱教学简谱怎么弹(2)
  2. python大神是什么样的_【Python大神秘籍Top10】这些窍门99%的人都不知道
  3. Google正式开始推送 Android 5.0 Lollipop
  4. postgresql SQL 优化 -- 理论与原理
  5. 图像水波纹特效原理分析和实现
  6. Android 截屏与 WebView 长图分享经验总结
  7. Vite 项目初始化配置
  8. 计算机组装与维护常见问答题,计算机组装与维护常见问答题
  9. 2022天梯赛 L3-01 千手观音题解
  10. 如何在iPhone上绘制出一个笑脸