用途:为具有集中式服务的传统应用(如 Web 或移动客户端与后端 API 通信)应用客户端-服务器架构,也适用于探索去中心化或“离线优先”能力、依赖点对点同步的系统,并正式记录信任边界、客户端-服务器版本协商与 API 演进策略。
主要能力:定义客户端与服务器各自承担的职责与数据,尽量减少重复;正式记录所有 API、数据模式、认证流程及处理不同客户端版本所需的能力协商;规划版本偏差策略,如功能开关、Accept 头内容协商或 API 语义化版本;处理连接性问题,包括离线缓存、数据同步协议或对等节点发现与成员服务;强制所有传输数据使用 TLS,并为每个端点实施授权策略、速率限制与详细遥测。
使用方式:按采用步骤执行——先定义职责,再记录契约,然后规划版本偏差,接着处理连接性问题,最后保护所有通信。关键交付物包括架构决策记录(ADR)、正式 API 或协议规范及兼容性测试套件、以及发布协调运行手册。
适用场景:需要明确网络边界与信任边界的 Web/移动应用;需要离线优先或 P2P 同步的系统;需要正式记录 API 演进与版本协商策略的项目。
限制:不适用于 UI 与逻辑之间没有网络边界的系统(应使用模块化单体架构),也不用于在多种架构范式之间做初始选择。需注意“话多”客户端、逻辑重复的“厚”客户端以及 P2P 数据冲突等风险,并采取相应缓解措施。退出标准要求产出 ADR、正式 API 或协议规范,并在编写代码前记录版本偏差策略;若包含离线优先或 P2P,还需在 ADR 中指明冲突解决策略。