架构证据与维护:源码标签与压测结果各支持什么
"每分片持续 800 写/秒"没有硬件、版本、索引、数据分布、复制配置与事务长度,就只是一张不可重现的截图。本页定义架构证据的连接方式、失效触发与可核查练习。
结论、依据和时效建立连接
每项主要决策应链接来源需求、模型、分析或实验、部署限制、监控和复查条件。图、ADR、API 契约和代码需使用一致命名并标识最后验证时间。每项架构承诺记录命题、适用版本、输入、证据类型、局限、所有者和复查条件。接口默认值来自文档,内部路径来自固定tag,吞吐来自同环境压测,业务约束来自明确需求;不能把某类证据上升为全部保证。例"旧租约写一定拒绝"需资源端原子校验、发号恢复和所有旁路写检查,不能仅引用锁库文档。
架构治理依赖可持续检查:模块依赖规则、schema 兼容性、权限、性能预算和可观测覆盖。检查的失败结果应指向修正路径,而不是只有"违反架构"标签。
变化与失效触发
升级JDK、数据库索引变更、模型耗时分布变化、最大租户占比上升、跨区部署都会使旧推导失效。给证据设复查触发,而非机械每月全部重测。运行观测超出假设范围时,把结论标记待复核并启动定点验证。
方案A把所有说明复制进多处文档,离线可读但维护易漂移;方案B在训练正文/ADR中只保一个权威解释,以稳定链接引用,存在链接维护成本但降低重复。源码行号随版本变化,优先保tag、路径与符号,未核对不编造行号。
将证据维护成可操作的约束
给"恢复后30秒内重开写入"建立一条教学证据记录:命题限定单区主失效,假设备区数据滞后不超过5秒、控制面仍可用、旧主可被资源端隔离;步骤分别测发现、隔离、晋升、流量恢复与业务验证。若仅测HTTP健康检查变绿,便没有验证旧主无法写、账本无重复及已确认数据的损失范围。计时终点应是经过业务校验的服务恢复,而非进程启动。
证据至少存环境标识、固定输入、命令/脚本版本、原始输出位置、成功判定、局限和所有者。原始日志可含账号、地址和令牌,应脱敏及限制访问,不能为"可复现"把生产秘密提交仓库。保留可核验摘要与生成方法,而不是仅保留无法审查的一张截图。
假设平时99.9%的任务在1秒内完成,新模型上线后变为95%。此时旧容量与队列预算不再可信:先将依赖该分布的结论标记待复核,再暂停据此扩大发布;已有安全性证明若只依赖原子版本检查,可能仍成立。维护不是把全部文档标成过期,而是沿假设依赖定位受影响承诺,区分性能证据失效与正确性协议变化。
可执行核查练习
随机选择一项架构承诺,让未参与者在限定时间找到原始材料、运行步骤与限制。移除一个关键环境变量或换版本,观察文档是否能发现不匹配;若仍盲目宣布达标,证据契约不完整。审阅练习交付三种结果:可重现且范围匹配、可重现但外推过度、缺少关键材料。第二种不能被"命令跑通"误判为通过;第三种需指出缺失输入和最小补证,不要求先搭整套生产环境。
交付包括一份"已实测/源码核查/纸面推演/未验证"清单。教材补全与个人掌握验收分离,不能因新增了答案就把学习记录自动全填通过。复查频率由风险与变化驱动,监管或组织要求的定期审查另行遵守。
证据时效与复查台账
本页讲了"结论、依据和时效建立连接",评审时还需要一张台账,把每条架构承诺的复查触发与失效处置写成可执行条目。台账四列:承诺、证据、复查触发、失效后处置。
处置分三类:REVALIDATE(重新测量或重跑实验)、MARK_SUPERSEDED(承诺范围已变,旧证据不覆盖新命题,标记失效并立新计划)、REVIEW_PROTOCOL(正确性协议变化,必须重新推导而不是重跑性能)。分类的意义在于避免"一律重测"或"一律不改"两个极端:性能证据失效通常只需重测,范围扩大则旧证据直接作废,协议变化要重新论证。
示例:读 P99 <50ms 的证据是 2026-10 压测,触发条件是 schema 或索引变更,处置为重测;单区 RTO 180 秒的证据是 2026-09 演练,触发条件是承诺扩到区域级,处置为标记失效并立新演练;唯一键恰好一次的证据是代码审查加模型,触发条件是键组成变化,处置为重新评审协议。
反例:把三条证据都写成"定期复查"——没有触发条件,复查永远不会发生;或者把单区演练结论直接外推到区域级,旧证据被过度使用。台账的作用是让每一条旧结论都有明确的死亡条件。
执行 python3 labs/architecture_models.py evidence_ledger:预期输出三条证据与三种处置。脚本只检查台账字段,不执行真实复查。
两个合理选择:A 机械按月全量重测,简单但成本高且多数重测无信息量;B 按触发条件定点复查。本例选 B,并规定复查触发条件写入 ADR 的"复查"一节,与决定本身同源。
架构师变化条件
把承诺从"单区主失效 30 秒恢复"扩到"区域级失效":证据记录的命题范围改变,原有单区演练不覆盖新命题,需要新的演练计划而不是复用旧结论。若模型耗时分布变化被监控捕获,依赖该分布的容量与队列结论定点复核,安全协议按假设依赖判断是否受影响。每次变化区分"性能证据失效"与"正确性协议变化"两类处置。
闭卷验收
本页 8 道闭卷题收进了下方自测面板:先回忆,再展开参考答案与评分点,最后给三档自评。