系统架构设计师 · 高频练习

死信队列为什么要保存处理失败的消息?

高级 单选题 第 339 题 中等 系统架构设计师死信队列 DLQ消息重试异常隔离失败消息处理
题目

某订单系统通过消息队列异步通知积分服务。少量消息因为参数异常或下游服务错误,重试多次后仍无法成功处理。如果这些消息一直在主队列中反复重试,会影响后续正常消息消费。架构师希望把这类异常消息隔离保存,便于告警、排查和后续人工补偿。较合适的机制是()。

A 死信队列
B 桌面快捷方式
C 图片压缩
D 只增加页面动画
题目类型:原创高频考点题 用途:用于帮助理解系统架构设计师相关考点和答案解析,不等同于官方真题。
书木兰刷题练习 适合懒人、小白的刷题通关平台
正确答案
A
答案解析

死信队列通常用于接收超过重试次数、无法被正常消费、过期或被拒绝的消息。把异常消息转入死信队列,可以避免它们长时间阻塞主队列,同时保留排查线索。后续运维或业务人员可以根据死信原因做告警、修复、补偿或重新投递。

选项分析

A

正确。死信队列适合保存多次处理失败或无法正常消费的消息,便于隔离和后续处理。

B

错误。桌面快捷方式与消息系统异常处理无关。

C

错误。图片压缩属于多媒体或前端性能优化,不处理失败消息。

D

错误。页面动画不会解决消息重试和异常隔离问题。

本题为什么容易错

容易把死信队列理解成“失败了就丢掉”。实际上它更像异常消息的留置区:先别影响主队列,但也不要悄悄丢失,后面还要能查、能补、能重放。

先看结论

简短答案

死信队列为什么要保存处理失败的消息,正确答案是 A(死信队列)。死信队列通常用于接收超过重试次数、无法被正常消费、过期或被拒绝的消息。把异常消息转入死信队列,可以避免它们长时间阻塞主队列,同时保留排查线索。后续运维或业务人员可以根据死信原因做告警、修复、补偿或重新投递。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
死信队列 本题正确答案 正确。死信队列适合保存多次处理失败或无法正常消费的消息,便于隔离和后续处理。 看到题干核心场景时优先联想到它
桌面快捷方式 本题干扰项 错误。桌面快捷方式与消息系统异常处理无关。 看到该词不要急着选,先判断是否真正解决题干问题
图片压缩 本题干扰项 错误。图片压缩属于多媒体或前端性能优化,不处理失败消息。 看到该词不要急着选,先判断是否真正解决题干问题
只增加页面动画 本题干扰项 错误。页面动画不会解决消息重试和异常隔离问题。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 桌面快捷方式:错误。桌面快捷方式与消息系统异常处理无关。
  • 图片压缩:错误。图片压缩属于多媒体或前端性能优化,不处理失败消息。
  • 只增加页面动画:错误。页面动画不会解决消息重试和异常隔离问题。
复习

知识点详解

死信队列 DLQ是系统架构设计师考试中需要结合场景理解的考点。围绕“死信队列为什么要保存处理失败的消息”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“某订单系统通过消息队列异步通知积分服务。少量消息因为参数异常或下游服务错误,重试多次后仍无法成功处理。如果这些消息一直在主队列中反复重试,会影响后续正常消息消费。架构师希望把这类异常消息隔离保存,便于告警、排查和后续人工补偿。较合适的机制是()”,它指向的核心答案是 A(死信队列)。

备考速记

备考速记:题干如果强调“失败消息处理”中的关键目标,就先联想到 死信队列 DLQ;如果选项里出现 桌面快捷方式、图片压缩、只增加页面动画,不要只看名称熟悉,要判断它们是否真正对应题干场景。

死信队列 DLQ 在失败消息处理场景中的作用

死信队列 DLQ在本题中的核心价值,是解决“某订单系统通过消息队列异步通知积分服务。少量消息因为参数异常或下游服务错误,重试多次后仍无法成功处理。如果这些消息一直在主队列中反复重试,会影响后续正常消息消费。架构师希望把这类异常消息隔离保存,便于告警、排查和后续人工补偿。较合适的机制是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出失败消息处理场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查死信队列 DLQ的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把死信队列 DLQ和桌面快捷方式、图片压缩、只增加页面动画放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
死信队列 DLQ 在系统架构设计师软考中的考法

软考选择题通常不会只考概念定义,还会把死信队列 DLQ放到失败消息处理场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

题干里有两个信号:一是消息重试多次仍失败,二是继续留在主队列会影响正常消息。老师讲消息系统时一般会说,失败消息不能无限纠缠主流程,该隔离就隔离,该报警就报警。死信队列就是给这类消息留一个可追踪的出口。

考点定位

死信队列题要抓住处理失败、多次重试、隔离保存、后续排查补偿。它不是普通日志,也不是提高页面性能的工具。

易错提醒

  • 没有设置最大重试次数,失败消息在主队列中无限循环。
  • 死信队列没有告警,消息进去了也没人处理。
  • 重新投递前没有修复根因,导致同一批消息再次失败。

备考提示

  • 看到多次重试失败、异常消息隔离、人工补偿、重新投递,优先想到死信队列。
  • 复习消息队列时,把削峰、解耦、重试、幂等、死信队列放在一条链上理解。

你可能还想了解

  • 死信队列为什么要保存处理失败的消息?
  • 死信队列 DLQ是什么?
  • 死信队列 DLQ在系统架构设计师考试中怎么考?
  • 系统架构设计师死信队列 DLQ题怎么理解?
  • 死信队列有什么作用怎么考?
  • 消息队列死信队列怎么理解怎么考?

本文小结

本题核心考点是死信队列 DLQ在失败消息处理场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(死信队列)。