替代方案和决策质量:不要拿完整方案和稻草方案比较
方案 C 同步数据库加 HTTP 无恢复,因不满足账务故障正确性直接淘汰——淘汰之后,剩下的 A/B 才值得认真比较,且不能给 B 算全部运维而把 A 的 relay、对账和监控当免费。本页定义候选比较的口径、人力入账的敏感性算例与可执行风险条目。候选比较的通用方法见从选项比较到风险说明,本页保留决策质量与成本敏感性的独有算例。
决策质量与结果质量不同
方案比较要使用相同边界与工作负载。至少说明选项的收益、成本、故障模式、数据迁移、运维职责和退出路径。简单方案往往具备更少的状态同步和操作流程,复杂方案可能获得吞吐、隔离或组织自治。选择应由实际约束支撑,而非技术潮流。决策质量与结果质量不同:一个在当时证据下合理但后来未达预期的决策,仍可能是好决策;应检查推理是否忽略已知证据、是否及时复查。
硬约束先过滤,剩余才比较延迟、恢复、人员、成本和退出。评分权重来自业务决策,不是用小数点装成客观;即使 B 总分高,若违反不可丢账约束仍不能选。
敏感性计算:把人力算进两边的口径
设A基础设施每月8万元,另需2人、每人全成本3万元;B基础设施12万元,另需0.5人同口径维护。A为14万元/月,B为13.5万元/月。若只看机器,A便宜4万;纳入同口径人力后,B反而低0.5万。这是教学算例,不是实际产品报价;故障损失、迁移与许可尚未计入,要明确遗漏而非宣称已完成TCO。
再设A一次迁移20万元、B60万元,按上述每月差额,B额外40万元需80个月才能仅从运行成本收回。若规划窗口12个月,差额未必值得;但若B满足A无法满足的恢复硬约束,经济回收期不能抵消约束。人员投入也可能随业务复杂度非线性变化,应给范围及观测计划,不把估计当固定自然常数。
比较表每个候选都填写:正常链路、提交未知的恢复、协调故障时行为、数据迁移、值班责任、一次性成本、持续成本与退出条件。账务与通知不必共享同一选择:账务同事务强约束、通知Outbox最终推进往往是合理分域,而非所有操作都采用一套一致性级别。
关键风险要可执行
关键风险不能只写"复杂度高"。应写:协调节点不可用可能阻塞哪些操作、最长允许等待、如何检测、谁恢复、失败时业务能接受什么。估计不足就保留范围,不编概率。
评审演练
交换角色让A方为B做最强论证,再让B方指出A的恢复边界。最终记录推荐、未满足点、最小试验和复查条件。拒绝一个方案要保留原因,防止未来在条件变化时误把历史选择当永久原则。评审时主动要求反方给出能改变推荐的条件,例如通知也变为不可撤销同步支付、跨账户原子域拆开、团队无能力运维协调层。优秀答案会明确"在这些输入下选A,越过该条件应重评",并给最小试验;差答案只给打分表,没有失败时序和可执行恢复。
验收产物为相同题设的候选表、关键失败时序、敏感性计算和一页决定,图只表达已论证的关系,不以组件数量判断先进程度。
候选淘汰记录表:淘汰也要留下最强论证与复活条件
本页用 A/B/C 三案演示了硬约束过滤与人力口径,评审时最常见的浪费是淘汰理由丢失:半年后有人重新提被淘汰的方案,团队得从头再论证一次。淘汰记录表要留下四列:淘汰理由、该方案最强论证、复活条件、记录人。
示例(与上文 A/B/C 不是同一题设,另记 P/Q/R 三案):P 因"账本恢复缺少证明"被淘汰,但其最强论证是"基础设施成本最低";复活条件是"外部持久账本能给出恢复证明"。Q 因"恢复演示未演练"被淘汰,最强论证是"演示观感最好";复活条件是"恢复目标放宽并完成演练"。四列齐了,淘汰就不是否决,而是带条件的分期。
反例:淘汰理由写"行业惯例不用这个方案"或"团队不喜欢"。这既不是硬约束也不是可验证的风险,未来无法复查。正确的淘汰理由必须能指向硬约束(不变量、恢复目标、合规)或已量化的风险(成本、复杂度、恢复时间)。
复活条件的意义在于防止"当时淘汰"变成"永远错误"。技术在变:外部持久账本成熟了,B 就该重新评估;恢复目标放宽了,C 就可能可行。记录复活条件,等于给未来的团队留了一个检查入口。
执行 python3 labs/review_models.py candidate_elimination:预期输出两条被淘汰记录,各含 strongest_case 与 revive_if,并给出规则"按硬约束淘汰,记录最强论证与复活条件"。脚本只检查字段,不评价方案优劣。
两个合理选择:A 只记录选中方案,文档最短但历史丢失;B 记录全部候选与淘汰理由,维护成本高但可复查。本例选 B,并规定淘汰记录跟 ADR 放在一起,随决策一起被检索。
架构师变化条件
规划窗口从无限收紧到 12 个月:B 的 80 个月回收期不成立,除非恢复硬约束要求;比较从经济问题变为可行性问题。若团队从 4 人缩到 2 人,A 的 2 人维护成本不可行,候选集合重排。每次变化重报"在这些输入下选谁、越过哪个条件重评"。
闭卷验收
本页 8 道闭卷题收进了下方自测面板:先回忆,再展开参考答案与评分点,最后给三档自评。