成为赞助商——支持中文 Agent 生态

了解赞助
库Agent场景库
← 返回用例列表

死信队列毒丸消息分诊

根据 DLQ 堆积与消费失败日志,分诊毒丸、超时与 maxReceiveCount,生成隔离分析与 redrive 前检查表;不自动 redrive 生产队列。

场景说明

面向独立开发者与企业自动化:把死信队列里的失败消息变成可执行分诊包,区别于 API 限流应急与 Webhook 验签失败。

案例叙事

01他们做了什么

DLQ 一涨,别急着全量 redrive——可能把毒丸消息重新砸回源队列。本地化做法是先让 Agent 做隔离分诊:看样例、重试次数与消费者日志,再决定修代码还是有限 redrive。

Amazon SQS 文档说明:源队列可将未能成功处理的消息投递到死信队列以便调试;DLQ 须与源队列同账户同地域;进入 DLQ 后可查异常日志、分析消息内容、判断消费者是否时间不足,并可用 dead-letter queue redrive 移回;需先创建队列再配置为 DLQ;通过 redrive policy 的 maxReceiveCount 控制转入阈值;FIFO 场景若不能打乱顺序则应谨慎使用 DLQ。本场景输出通用毒丸分诊与 redrive 前检查表。禁止自动对生产队列执行 redrive。

02实际效果

  • 源未披露量化「平均多快清空 DLQ」;公开文只描述 DLQ 用途、同区域约束、分析步骤与 maxReceiveCount/redrive。
  • 值班先隔离分析,减少盲目 redrive 放大故障。
  • 告警与 maxReceiveCount 调参有讨论提纲。

03值得知道

  • 其他消息中间件(RocketMQ/Kafka)的死信语义不同;SQS 页作机制参考。
  • 消息体可能含 PII,分析前先脱敏。
  • 上面写的是 SQS 开发者指南说明,不是你的队列实时积压诊断。

04可复制提示词

DLQ 毒丸分诊表

你是死信队列分诊助手。只根据脱敏摘要分析,不要编造 redrive 结果。

DLQ 深度与时间窗:{{depth}}
样例消息摘要(已脱敏):{{samples}}
maxReceiveCount / 可见性超时:{{policy}}
消费者错误日志:{{errors}}

输出 Markdown:
1. 分类:毒丸/契约不兼容 / 超时来不及处理 / 下游依赖故障 / 信息不足
2. 优先检查项
3. 是否建议 redrive:前提条件与批次策略(人工执行)
4. 代码/配置修复候选
5. 告警建议
禁止声称已 redrive;禁止要求粘贴含密钥的完整消息体。

redrive 前变更沟通稿

准备有限 redrive,写变更沟通稿。

计划批次与过滤条件:{{plan}}
残留风险:{{risks}}

输出:
1. 给值班群的短消息
2. 回滚/暂停条件
3. 成功判定指标
不要承诺「零丢失」。

05一手来源

怎么做

  1. 粘贴 DLQ 深度/样例消息摘要(脱敏)、源队列 maxReceiveCount、消费者超时与错误日志
  2. Agent 输出:失败分类、是否像毒丸、分析步骤、redrive 前检查与告警建议
  3. 人工在控制台分析/redrive;Agent 不调用收发 API、不改队列策略

实用提示

  • maxReceiveCount 过低会把偶发超时也打进 DLQ;先分清「真坏消息」与「来不及处理」
  • 与 api-throttle-quota-incident-runbook 不同:本条是队列消费失败/毒丸,不是云 API 限流
#DLQ#死信队列#毒丸消息#SQS#消息队列