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

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. 提气!清华成立集成电路学院,专研“卡脖子”技术
  2. 项目管理知识框架PMBOK(文字版)
  3. Redis在Linux系统的配置优化
  4. ASP.NET中序列化与反序列化-以显示上一次登录的信息为例
  5. python绘制饼图双层_Python入门进阶:Python绘制饼图到Microsoft Excel
  6. 机器学习(2.sklearn(Scikit-learn)库、字典数据的特征抽取)
  7. 自我学习的技巧和建议
  8. The “data“ option should be a function that returns a per-instance value in component definitions
  9. maven 部分命令
  10. 74cms3.0——Error:Can‘t select MySQL database(74cms3.0)...
  11. 云计算体系结构中soa构建层_云计算的服务模式及技术结构
  12. oracle dbms_crypto,DBMS_CRYPTO包对Oracle加密
  13. MySql查询语句中解决“该列没有包含在聚合函数或者groupby子句中”的相关问题方法...
  14. 怎么查询sybase money列数据长度_用PBI分析上市公司财务数据(一)
  15. ubuntu编译linux kernel v2.6.30 各种错误排除
  16. vue 重置vuex数据
  17. S7-200SMART 模拟量输入输出
  18. jquery 实现背景图片循环切换,显示隐藏div
  19. 高斯分布的随机数生成器
  20. python爬虫-爬妹子图_Python 爬虫入门之爬取妹子图

热门文章

  1. 运行维护-PC与笔记本性能测试
  2. imx8qm wifi sdio调试
  3. 2020、2019、2018、2017年汽车销量排名
  4. 应用之星:十问十答,让你更快了解H5制作和app开发
  5. Windows7下游戏全屏问题通用解决方法
  6. KoLA: Carefully Benchmarking World Knowledge of Large Language Models翻译
  7. 2016年美国大选数据统计数据分析
  8. Helium自动化框架 Select下拉选
  9. ListCtrl.InsertColumn和ListCtrl.InsertItem
  10. Flutter 异步加载数据并渲染列表