用途:Failure-Path Review 是一个审查技能,适用于处理非同步接收工作的系统,如消息消费者、队列 worker、后台循环、调度器、中继、持久化工作流。其出发点是:正常路径会被开发和演示反复执行,而失败路径只在出错时运行,稀少、无人观察,且常与故障并发,因此会悄然腐化。资料提到对五个 broker/持久化集成的多包审查中,正常路径全部健全,缺陷清单却全部集中在毒消息处理、重投递、关停与恢复上。
主要能力:以七类问题构成的多个审查遍次进行排查,完整列表见 references/review-passes.md,清单形式见 references/review-checklist.md。七个问题包括:永远无法成功的消息会怎样(若答案是重试,就是永远重试);哪些失败可重试、由谁判定(永久错误上盲目重试会放大故障,瞬时错误上盲目放弃会丢数据);进程死亡时在途工作会怎样(崩溃后重投递是常态而非例外);关停是排空还是丢弃;什么会无界增长(队列、重试计数、内存缓冲、死信存储);死掉的循环由什么重启;以及别人如何得知这些情况发生。
使用方式:把失败路径作为一次专门、刻意的审查遍次来执行,而不是附带检查。资料强调失败路径无法靠运行应用验证,需要强制测试:注入解码失败、在效果与确认之间杀死进程、强制重投递、投递毒消息 N+1 次、在批次中途停止消费者。确定性的故障注入(determinism-by-design)可让这些测试可重复;审查新增的检测分支必须不能是死代码(fewer-tests-more-proof);每个修复遵循 reproduce-then-fix,先制造强制失败的复现。
相关技能:error-taxonomy 提供可重试/终止分类;reproduce-then-fix 用于将每个发现转为强制失败复现;determinism-by-design 提供确定性故障注入;self-audit 的失败路径与清理路径遍次是本审查的 diff 范围版本。
限制:资料未提供具体的安装命令、代码示例细节、支持平台、收费方式或效果数据,暂未提供。本技能侧重审查方法与测试要求,不替代具体系统的实际实现验证。