ARC 6证明边界并完成毕业项目第 23–26 章

第 26 章 —— 交付可复核的履约控制面

本章目标: 本章完成后,开发者能够运行书籍自有履约控制面,串起三类集合、故障实验、观察信号与证据等级,并作出带边界的发布判断。

学习目标

  1. 从业务合同追到 DSM adapter,而不是让业务层依赖集合 API。
  2. 同时验收 Register、Lease、CRDT 的正常路径和失败窗口。
  3. 用一条脚本复跑书籍、示例、观测、安全、生命周期、federation、真实端口与出版证据。
  4. 输出「可以发布什么」和「仍需部署验证什么」。

前置条件

案例进度

履约控制面拥有三个业务动作:发布健康 route、领取 shard、累计接受请求。业务服务只依赖 FulfillmentCoordinationDsmFulfillmentModule 在 composition root 内拥有 Runtime、locator、codec 和 typed handles。

验收的对象是一条链

毕业项目的合同、故障与证据链

验收问题 失败时回到哪里
业务合同 调用者是否只看到 route、claim、count 与 uncertain/fencing 领域端口与业务不变量
集合适配 Register/Lease/CRDT 是否各自表达正确状态 locator、codec、集合选择
故障实验 并发、分区、漏失、repair 的业务结果是否写清 失败合同与外部门禁
运行责任 能否诊断、拒绝不可信消息、正确 ready/stop Arc 5 运行合同
证据等级 每个声明在哪个执行面被验证 追踪矩阵与验收命令

DSM 价值的最终兑现

毕业项目把全书价值压缩为一条可运行路径:业务层通过领域端口表达发布路由、领取分片和累计请求,DSM adapter 复用 Register、Lease、CRDT、传播与修复能力,测试和观察面说明这些机制在何种执行环境下成立。业务团队可以减少在各个服务中重复实现同类协调基础设施的工作,同时继续负责订单事实、外部 fencing、分区期间的响应策略以及目标环境验收。

这条路径也是全书学习结果的判据。开发者需要能够从业务不变量选择或拒绝 DSM,运行正常与故障实验,解释观察结果,并把未覆盖范围转成后续部署任务。

正常路径不是最终验收

书籍 Maven 示例验证领域 fake 与真实 standalone Runtime;DSM 集成测试验证多节点传播、repair、安全和 federation;Redis-shaped 示例验证真实端口。三层证据组合后仍不能宣称生产网络、外部事务 fencing、部署排空或容量 SLA 已完成。

一键验收

node scripts/verify-capstone.mjs

脚本串行运行,避免多个 Maven reactor 共享 target 造成无效并发失败。它会停止在第一条失败命令,并打印每个证据层的名称;最后重新导出 Draw.io 图、构建在线书和中文 PDF,确保内容与出版物属于同一候选状态。

发布判断模板

可以确认: 书籍固定 revision 上,业务端口隔离成立;三类 collection 能运行;受控多节点传播/repair、安全/federation 测试与 loopback RESP 黑盒通过;章节资产、链接、图稿和出版构建可复跑。

仍需部署验收: 生产 topology、跨主机网络、外部存储 fencing、指标后端和值班、密钥托管、真实 drain、数据规模、峰值 repair、容量与灾难恢复。

任何一项「仍需」都需要有 owner、环境、命令/探针、阈值与失败处置,不能用本书绿灯代替。

反例与故障注入

实验

  1. 运行 node scripts/verify-capstone.mjs
  2. 对照 capstone-acceptance.json 检查每项 claim、evidence、boundary。
  3. 为目标部署另建 acceptance card;书籍验收卡不能替代生产完成证明。

实验验收卡

字段 内容
运行命令 node scripts/verify-capstone.mjs
输入或故障 三类集合、领域端口、repair/security/lifecycle/federation、真实 RESP socket 与出版链路
可观察结果 所有固定证据串行通过;失败命令非零退出;边界卡完整
证据等级 E1–E4 组合,按声明选择,不以最高等级覆盖全部结论
本实验未证明 目标组织和生产环境已经完成上线批准

回顾

下一步

使用附录快速查询 API、Spring 属性、排障路径、术语和证据;当 DSM revision 改变时,从附录 E 反向定位需要复核的章节。

证据链接