ARC 4接入真实业务工程第 15–18 章

第四篇回顾 —— 从集合 API 到业务工程(第 15–18 章)

业务层现在只依赖履约协调端口;DSM 的 locator、typed handles、Spring 装配与测试证据各自有明确归属。

工程边界

FulfillmentService
  → FulfillmentCoordination(业务端口)
    → DSM adapter(失败翻译)
      → composition root / Spring auto-configuration
        → Runtime + named typed handles

业务层可以用 fake 做快速决策测试,适配器仍需要在真实 Runtime 上验证。Spring Boot 只是另一种 composition root,不会改变 Register、Lease、CRDT 的语义。

四个不混写

不应混写 左侧职责 右侧职责
领域端口 / DSM handle 业务动作与结果 集合操作和技术失败
bean name / locator 当前容器选择 bean 分布式集合身份
clusterId/serviceId / locator 通信与同步域 集合与状态域
测试通过 / 生产就绪 固定执行面内的证据 部署、容量、安全与运维验收

本篇如何兑现 DSM 价值

第四篇把 DSM 的复用价值带入业务代码:领域端口隔离集合 API,composition root 集中 locator、codec 和生命周期,Spring Boot 负责可验证装配,多层测试限定结论范围。这样可以降低接入与演进成本,并避免 DSM 类型、身份和失败语义扩散到业务层。

可迁移检查表

  1. 业务 service 是否导入了 com.leanowtech.dsm.*?若是,先判断它是不是 composition root 或 adapter。
  2. locator 是否只有一个事实源,并带 schema id?
  3. Lease 结果是否保留 uncertain、reason 和 fencing token?
  4. Spring 是否对重复 locator、缺 codec/merger 和非法 Lease 配置 fail fast?
  5. 集群/服务身份变更是否被当作协议迁移?
  6. 每层测试是否写出 provesdoesNotProve

本篇证据

下一步

第五篇不再扩展业务功能,而是补齐生产运行合同:可观测性、安全、生命周期和容量测量。