目标
失败消息应被捕获、可检查、可重处理,而非静默丢弃。本工作流把重试耗尽的消连带元数据送入死信队列,在队列增长超过阈值或速率时告警,按错误类型分组排查系统性原因,修复后重放死信并确认排空。
步骤要点
- 把重试耗尽的消连同元数据送入死信队列。
- 在死信增长超过阈值时告警。
- 按错误类型分组排查系统性原因。
- 修复后重放并确认死信排空。
aws sqs get-queue-attributes --queue-url "$DLQ" \
--attribute-names ApproximateNumberOfMessages
验证
按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。
排错提示
- 静默丢弃会丢失数据。
- 无限重试会被毒消息阻塞队列。
- 缺少上下文无法重处理。
适用边界
- 需要支持死信的队列。
- 重放应在修复原因后进行。