Skip to content
阅读进度

如何理解崩溃恢复矩阵与最小可靠性证明? ​

返回 EachOf 项目 目录

项目版本说明

这些问答整合历史设计与实现资料;当前 main 分支 README 以工作包描述建设状态。具体能力、实验数据与设计目标的边界见项目状态与证据。

标准回答 ​

一个可检查的恢复矩阵覆盖:领取后未计算、计算完未上报、候选已保存未提交、提交成功响应丢失、Outbox 已投递但确认丢失。每个位置都要回答持久状态是什么、谁有权继续、是否可能重复效果,以及怎样识别最终结果。

对于 EachOf,可从当前状态和租约恢复调度,通过候选持久化重试提交,通过幂等结果与事务约束阻止重复权威写入,通过当前来源与权限校验拒绝过时结果。这些机制说明设计意图与代码路径,仍需要故障实验来证明组合行为。

现有材料包括局部运行验证与阶段验收,不足以声称已覆盖所有竞态、长期多实例或生产故障。补充验证应优先覆盖来源修改与提交并发、旧 Worker 回归、重复请求以及撤销积压,记录精确版本与实际观察。

追问与回答 ​

怎样选择最有价值的故障实验 ​

优先验证一旦失败会越权、重复写入或丢失状态的边界,再覆盖纯性能下降。每个实验先定义不变量和判定条件。

如何避免只测顺利路径 ​

故意让响应丢失、超时和重启发生在持久化前后,并查询权威状态;客户端没有收到成功不等于服务端没有完成。

易混淆点 ​

  • 把代码中存在恢复分支当作所有故障实验已经通过。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。