前言:DSM 的价值与本书学习路径

分布式系统中,一种常见风险是把某种局部保证误当成另一种全局保证。例如,本地写入成功并不表示远端已经可见,副本最终收敛也不表示已发生的业务响应可以撤销。

DSM 是一套面向 Java 应用的分布式共享内存基础库。它用于在多个服务实例之间共享路由提示、分片所有权和可合并计数等协同状态,并把状态标识、类型化集合、本地操作、在线传播、冲突处理和副本修复放入统一 Runtime。业务团队因此可以复用经过定义和验证的协调机制,减少在各个服务中重复实现传播、合并与修复逻辑的工作。

这项价值有明确边界。最终收敛不提供事务一致性,副本修复不提供完整业务事件重放。订单、库存和支付仍需要各自的权威事实系统;应用团队仍需定义业务不变量、分区期间的处理方式、外部 fencing 或幂等保护,以及部署环境中的安全和容量标准。

本书使用「分布式订单履约控制面」贯穿全程:

全书分为六个连续阶段:第一篇识别适合共享的状态并建立 Runtime;第二篇依据业务不变量选择 Register、Lease 或 CRDT;第三篇展开在线传播、漏失、修复和分区边界;第四篇通过领域适配器与 Spring Boot 接入真实工程;第五篇补齐可观测性、安全、生命周期和容量责任;第六篇使用真实端口、跨集群实验和毕业项目复核整体结论。

每一章先描述问题,再引入对应机制。实验验收卡记录运行命令、可观察结果、证据等级和未覆盖范围。完成全书后,开发者应能从业务状态出发选择或拒绝 DSM,并能通过代码、故障实验和运行证据说明选择依据。这个过程把 DSM 降低一致性工程成本的价值,落实为可执行、可诊断和可复核的工程能力。

第 1 章开始,先判断哪些状态应该进入 DSM。