新闻详情

新闻详情

首页 / 资讯中心 / 详情

Kafka RabbitMQ 死信队列(DLQ)超全整合笔记

发布时间:2026/11/14 0:59:00来源:尧图网络
Kafka  RabbitMQ 死信队列(DLQ)超全整合笔记
Kafka RabbitMQ 死信队列DLQ超全整合笔记一、死信队列 通用核心概念1.1 定义消息什么时候会变成死信常见 3 类条件RabbitMQ 为例死信队列作用1.2 消息流转链路1.3 通用使用场景二、RabbitMQ 死信队列DLX2.1 核心特性2.2 死信触发 3 大硬性条件面试必考2.3 完整工作流程2.4 优势 适用场景三、Kafka 死信队列DLQ3.1 核心特性与 RabbitMQ 最大区别3.2 Kafka DLQ 触发条件业务自定义3.3 三种主流实现方式方式1业务代码手动实现生产/面试重点方式2Kafka Connect 内置 DLQ数据同步场景方式3Kafka Streams 流处理 DLQ3.4 生产标准架构三板斧3.5 高频踩坑点四、RabbitMQ VS Kafka 死信 核心对比面试必背五、生产通用 DLQ 处理流程六、面试一句话总结一、死信队列 通用核心概念1.1 定义死信队列全称DLQDead Letter Queue是消息中间件中专门存放消费失败、重试失效、异常非法消息的「异常消息回收站」。核心作用隔离脏消息、不阻塞主业务、留存异常数据用于排查和补偿。死信队列就是消息无法被正常消费时被投递进去的 “存放失败消息” 的队列可以理解成消息的回收站 / 异常消息仓库。正常流程生产者 → 普通队列 → 消费者消费成功消息消失死信流程普通队列里的消息满足死信条件 → 消息变成死信 → 自动转发到死信队列等待人工处理消息什么时候会变成死信常见 3 类条件RabbitMQ 为例消息被拒绝消费消费者nack拒绝并且不重新放回原队列消息过期设置了 TTL 过期时间超时还没被消费队列达到最大长度队列消息堆满新消息进不来头部消息转为死信 注意死信队列本身也是一个普通队列只是被普通队列配置成死信接收目的地它自己也可以有消费者专门处理异常消息。死信队列作用不阻塞主业务失败消息不要一直重试霸占主队列避免正常消息被卡住异常隔离把消费失败的脏消息单独拎出来不污染正常消息事后排查人工消费死信队列查看失败原因日志、参数错误等修复后重放消息1.2 消息流转链路正常链路生产者 → 普通队列/Topic → 正常消费 → 消息销毁死信链路消息触发异常规则 → 转为死信 → 进入DLQ → 人工/程序修复重放1.3 通用使用场景消息参数非法、格式错误、业务校验不通过下游服务异常、接口超时多次重试依然失败消息超时未消费、队列积压溢出防止异常消息无限重试阻塞整个队列/分区留存异常数据用于问题排查、故障修复、数据补偿二、RabbitMQ 死信队列DLX2.1 核心特性原生支持 DLX 死信机制Broker 自动判定、自动路由死信消息无需业务代码硬编码仅配置即可生效本质死信队列就是普通队列只是被业务队列指定为死信接收队列2.2 死信触发 3 大硬性条件面试必考消息被拒绝消费消费者 nack / reject且 requeuefalse不重新入队消息超时过期队列/消息设置 TTL超时未消费自动变死信队列容量打满队列达到最大长度队首旧消息被挤出转为死信2.3 完整工作流程创建普通业务队列配置死信交换机、死信路由键创建独立死信队列绑定死信交换机业务消息正常消费则直接销毁异常则进入死信流程Broker 自动将异常消息转发至死信交换机死信交换机路由消息至死信队列监听死信队列统一排查、修复、重放消息2.4 优势 适用场景优势开箱即用、零代码侵入、Broker 自动托管、不阻塞主业务场景订单超时关闭、轻量延时任务、简单异常消息隔离、短时业务重试三、Kafka 死信队列DLQ3.1 核心特性与 RabbitMQ 最大区别Kafka 无原生死信机制、无自动路由能力Kafka 的 DLQ 本质就是一个普通 Topic死信判定、异常拦截、投递全部需要业务手动编码实现不支持 TTL 过期、队列满溢自动转死信3.2 Kafka DLQ 触发条件业务自定义反序列化失败消息格式错误、字段缺失、JSON/AVRO 解析异常业务校验失败参数非法、数据无效重试无法修复下游服务故障接口超时、服务宕机、重试次数耗尽未知消费异常消费报错防止分区阻塞转入死信3.3 三种主流实现方式方式1业务代码手动实现生产/面试重点核心try-catch 捕获异常区分可重试 / 不可重试异常临时异常超时、网络抖动→ 投递重试 Topic延迟重试永久异常 / 重试耗尽 → 手动投递DLQ 死信 Topic必须手动提交 Offset否则脏消息无限重试、阻塞分区DLQ 消息 Header 必须携带上下文原Topic、分区、Offset、异常堆栈、时间方式2Kafka Connect 内置 DLQ数据同步场景用于 DB、ES 数据同步无需编码直接配置{errors.tolerance:all,errors.deadletterqueue.topic.name:connect-dlq-topic,errors.deadletterqueue.topic.replication.factor:1,errors.deadletterqueue.context.headers.enable:true}方式3Kafka Streams 流处理 DLQ流式计算场景消费报错自动写入 DLQ Topic留存异常数据。3.4 生产标准架构三板斧业务Topic → 消费者消费├─ 临时异常 → 重试Topic延迟重试└─ 重试耗尽/永久异常 → DLQ死信Topic后续流程监控告警 → 异常排查 → 修复代码 → 消息重放补偿3.5 高频踩坑点未提交Offset脏消息无限循环消费分区阻塞、Lag 暴涨DLQ 无上下文无法追溯报错位置与原因所有异常直接进死信临时故障应先重试不应直接丢弃无 DLQ 监控死信堆积无人感知造成数据丢失四、RabbitMQ VS Kafka 死信 核心对比面试必背对比维度RabbitMQDLXKafkaDLQ Topic原生支持原生内置Broker自动路由无原生机制业务手动实现触发规则超时、nack拒绝、队列满溢固定3种全业务自定义捕获异常手动投递消息载体Queue 队列Topic 主题Offset管理Broker 自动管理开发者手动提交极易踩坑代码侵入极低仅配置较高需处理异常、Offset适用场景延时任务、轻量业务、异常隔离高并发、大数据流式、长链路业务五、生产通用 DLQ 处理流程监控告警对 DLQ 消息堆积配置告警及时发现异常异常溯源通过 Header、日志定位报错原因与原消息位置问题修复修复 Bug、脏数据、下游服务故障消息重放批量重放死信消息完成业务数据补偿六、面试一句话总结RabbitMQ 死信原生 DLX 自动死信满足超时、拒收、队列满三种条件自动路由无需编码适合轻量延时业务。Kafka 死信无原生支持靠代码捕获异常、区分重试/死信、手动提交 Offset 实现灵活性高适合高并发流式业务。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉