RocketMQ的死信队列
死信队列用于处理无法被正常消费的消息。当一条消息初次消费失败,消息队列会自动进行消息重试;达到最大重试次数后,若消费依然失败,则表明消费者在正常情况下无法正确地消费该消息,此时,消息队列 不会立刻将消息丢弃,而是将其发送到该消费者对应的特殊队列中。
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的死信队列相关推荐
- RocketMQ——查看死信队列
在上篇博客中我们了解了RocketMQ的ACK机制,其中涉及到了消息消费重试,当重试次数达到默认的16次后(可以通过配置文件修改)如果对应的消息还没被成功消费的话,该消息就会投递到DLQ死信队列. 不 ...
- 【RocketMQ】消息重试、重试次数设置、死信队列
文章目录 1. 死信队列 1.1 死信特性 1.2 查看死信消息 2.重试次数参数 2.1 Producer端重试 2.2 Consumer端重试 3.1 异常重试 3.2 超时重试 参考 1. 死信 ...
- RocketMQ 死信队列
RocketMQ 死信队列 死信队列 死信队列是什么? 死信队列指的是种正常情况下无法被消费的消息称为死信消息(Dead-Letter Message),存储死信消息的特殊队列称为死信队列(Dead- ...
- rocketmq 几种队列_这篇进阶必看的RocketMQ,答应我看完好吗?
RocketMQ 整体架构设计 整体的架构设计主要分为四大部分,分别是:Producer.Consumer.Broker.NameServer. 为了更贴合实际,我画的都是集群部署,像 Broker ...
- 【重难点】【RabbitMQ 01】消息队列的作用、主流的消息队列、RabbitMQ 基于什么传输消息、RabbitMQ 模型架构、死信队列和延迟队列
[重难点][RabbitMQ 01]消息队列的作用.主流的消息队列.RabbitMQ 基于什么传输消息.RabbitMQ 模型架构.死信队列和延迟队列 文章目录 [重难点][RabbitMQ 01]消 ...
- rocketmq 几种队列_进阶必看的 RocketMQ ,就这篇了
RocketMQ 整体架构设计 整体的架构设计主要分为四大部分,分别是:Producer.Consumer.Broker.NameServer. 为了更贴合实际,我画的都是集群部署,像 Broker ...
- 6.RokcketMQ消息重试与死信队列
消息发送重试机制 Producer对发送失败的消息进行重新发送的机制,称为消息发送重试机制,也称为消息重投机制. 对于消息重投,需要注意以下几点: 生产者在发送消息时,若采用同步或异步发送方式,发送失 ...
- activeMQ - 消息重发策略和DLQ死信队列
2019独角兽企业重金招聘Python工程师标准>>> 1:死信队列简介 DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息. 出现以下情况时,消息 ...
- 面试官:说说RabbitMQ 消费端限流、TTL、死信队列
欢迎关注方志朋的博客,回复"666"获面试宝典 1. 为什么要对消费端限流 假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户 ...
最新文章
- php安装模式mod_php和Fastcgi的选择与对比
- J2SE7规范_2013.2_类型_命名
- 未解决:关于下载的ipython notebook打开的时候遇到问题的解决方法: NotJSONError(“Notebook does not appear to be JSON
- 全面质量管理体系方案
- 教务管理系统数据字典mysql_数据库课程设计报告--教务管理系统设计
- 新电商正面迎战“阅读焦虑”
- 2021雪花飘新年倒计时源码
- 解决QFontDatabase: Cannot find font directory XXX/lib/fonts
- Android之 APP创建或删除快捷方式
- python大数据运维工程师待遇_什么是大数据运维工程师
- Android 获取手机存储总大小,系统占用空间
- 几款漂亮的Eclipse编辑器皮肤 .
- 15个常用excel函数公式_【Excel公式函数】一大波常用的日期公式来袭,强烈建议收藏!...
- 使用Nginx访问图片报404
- 尚硅谷智慧校园-3、年级管理系统的实现
- 拍卖理论 英式拍卖 和 荷兰式拍卖 是什么
- ubuntuPC机安装JLink驱动
- ZZULI - 建国与回文串
- 1块金属片在射频天线中的作用
- 史上前端面试题(HTML)
热门文章
- 虫儿飞计算机版音乐怎么弹,虫儿飞尤克里里弹唱教学简谱怎么弹(2)
- python大神是什么样的_【Python大神秘籍Top10】这些窍门99%的人都不知道
- Google正式开始推送 Android 5.0 Lollipop
- postgresql SQL 优化 -- 理论与原理
- 图像水波纹特效原理分析和实现
- Android 截屏与 WebView 长图分享经验总结
- Vite 项目初始化配置
- 计算机组装与维护常见问答题,计算机组装与维护常见问答题
- 2022天梯赛 L3-01 千手观音题解
- 如何在iPhone上绘制出一个笑脸