毒消息治理

反复处理失败且阻塞队列的消息要尽快隔离:区分可重试(依赖临时故障)与不可重试(格式错误)两类,限次重试后转死信并告警。

策略

策略
可重试错误 → 指数退避重试,累计 N 次后转死信
不可重试错误 → 立即转死信,避免无效重试

死信记录原始消息、失败原因与追踪 ID

失败分类与处置

类型判断依据处置
可重试网络抖动、下游短暂不可用退避重试,超限转死信
不可重试格式错误、校验失败直接转死信并告警
未知无法分类保守限次重试后隔离
反序列化失败的消息无法读取头部时,仍要保留原始字节与来源信息用于排查。

易错点

  • 格式错误消息无限重试,阻塞分区消费
  • 毒消息被直接丢弃,丢失排查与补数依据

数据来源与参考

  • AWS 文档:SQS 死信队列与毒消息处理
  • 《Enterprise Integration Patterns》(Hohpe & Woolf)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌