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 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户 ...
最新文章
- 提气!清华成立集成电路学院,专研“卡脖子”技术
- 项目管理知识框架PMBOK(文字版)
- Redis在Linux系统的配置优化
- ASP.NET中序列化与反序列化-以显示上一次登录的信息为例
- python绘制饼图双层_Python入门进阶:Python绘制饼图到Microsoft Excel
- 机器学习(2.sklearn(Scikit-learn)库、字典数据的特征抽取)
- 自我学习的技巧和建议
- The “data“ option should be a function that returns a per-instance value in component definitions
- maven 部分命令
- 74cms3.0——Error:Can‘t select MySQL database(74cms3.0)...
- 云计算体系结构中soa构建层_云计算的服务模式及技术结构
- oracle dbms_crypto,DBMS_CRYPTO包对Oracle加密
- MySql查询语句中解决“该列没有包含在聚合函数或者groupby子句中”的相关问题方法...
- 怎么查询sybase money列数据长度_用PBI分析上市公司财务数据(一)
- ubuntu编译linux kernel v2.6.30 各种错误排除
- vue 重置vuex数据
- S7-200SMART 模拟量输入输出
- jquery 实现背景图片循环切换,显示隐藏div
- 高斯分布的随机数生成器
- python爬虫-爬妹子图_Python 爬虫入门之爬取妹子图
热门文章
- 运行维护-PC与笔记本性能测试
- imx8qm wifi sdio调试
- 2020、2019、2018、2017年汽车销量排名
- 应用之星:十问十答,让你更快了解H5制作和app开发
- Windows7下游戏全屏问题通用解决方法
- KoLA: Carefully Benchmarking World Knowledge of Large Language Models翻译
- 2016年美国大选数据统计数据分析
- Helium自动化框架 Select下拉选
- ListCtrl.InsertColumn和ListCtrl.InsertItem
- Flutter 异步加载数据并渲染列表