《互联网产品的客户端架构·规模化与架构演进》附录 A 术语与判据速查

卷四附录 A:把承诺、边界、能力、性能、稳定性、交付、可观测性、安全、国际化、无障碍、治理与迁移十二组核心术语与判据压缩成速查表,每项给出定义、判断条件、常见误用与对应章节;另附一页纸十二问与中英术语对照,便于架构评审、跨团队对齐与新人上手时直接引用。

这份附录怎么用

附录 A 不是词典,而是评审时的共同语言。当会议上有人说「这个端不一致」「这个组件该共享」「这次迁移可以结束了」,速查表用来说明:他说的「不一致」是哪一级,「共享」受哪条边界约束,「结束」需要满足哪些条件。

每条术语给四样东西:定义、判断条件、常见误用、对应章节。判断条件尽量写成可观察的事实,而不是形容词。

一、承诺(promise)

定义:一个端对另一个端必须保持的行为约定。

三级:

等级判断条件典型对象验收
identical同一输入得到同一结果、同一文案、同一顺序金额、订单状态、支付结果、退款进度逐字段跨端比对
equivalent关键字段一致,呈现可以不同列表排序、页面结构、通知文案场景断言关键字段
allowed-diff端能力不同,允许缺失或替代桌面无推送、小程序分享形态明示降级路径

判断条件:如果一处差异会导致资金、履约或用户权益判断不同,它必须是 identical;如果只影响观感与路径,最多 equivalent。

常见误用:

  • 把布局也定成 identical,导致所有端向最弱端对齐。
  • 只写等级不写验收方式,等级变成口号。
  • 用「差不多」代替 equivalent,联调时才发现关键字段不同。

对应章节:1.1、1.2、9.1、10.1。

二、边界(boundary)

定义:代码、数据与责任的分界。卷四用四层依赖表达代码边界。

层职责允许依赖
core纯判断、领域规则仅 core
protocol接口、契约、序列化core、protocol
adapter平台实现、网络、存储前三层
ui视图与交互任意层

判断条件:如果一条依赖从低层指向高层,或者图中存在环,边界已被破坏。

常见误用:

  • 把「工具函数」放进 core,实际依赖了浏览器 API。
  • protocol 直接引用 ui 的类型,形成隐式耦合。
  • 用目录结构假装分层,实际靠 import 路径绕开。

对应章节:1.2、2.2、6.1、11.2。

三、能力(capability)

定义:某个端是否具备某项原生能力。

状态含义处理
native原生支持直接使用
polyfill有替代实现优先替代
absent不支持按需求等级降级或阻塞

需求等级:required 缺失时阻塞;optional 缺失时降级。

判断条件:能力表未声明某项时,按 absent 处理,不按「大概率支持」处理。

常见误用:

  • 默认值取「支持」,问题推迟到线上。
  • 把降级做成「按钮置灰」,用户点进去才知道不可用。
  • 只在启动时探测一次,权限变化后不刷新。

对应章节:1.3、3.2、9.3、10.2。

四、性能预算(budget)

定义:按端、按阶段分配的耗时与资源上限。

维度典型阶段判定
启动冷启动、热启动超过预算即失败
首屏请求、解析、渲染分阶段归因
交互输入到响应超过即标记
内存峰值、常驻超限告警

判断条件:预算必须分端,且每一阶段有独立阈值;只有总预算时无法归因。

常见误用:

  • 五个端共用一个预算,弱端永远超标、强端永远宽松。
  • 只测平均值,不看尾部。
  • 优化后不更新基线,回归无法发现。

对应章节:4.1、4.2、4.3。

五、稳定性(stability)

定义:故障发生时,系统把影响限制在可接受范围内的能力。

概念定义判断
故障域一组会一起失败的组件单点越少越好
爆炸半径故障影响的功能/用户比例需可估算
降级用较弱能力维持主流程必须有可用路径
开关运行时改变行为的控制点必须有 owner 与过期时间
演练主动注入故障验证机制需有恢复断言

判断条件:如果无法回答「这个依赖挂了会影响哪些功能」,故障域没有被定义。

常见误用:

  • 开关只增不减,半年后没人知道哪个还能关。
  • 降级路径从未被测试,真故障时同样不可用。
  • 演练只看「有没有报错」,不看恢复时间与数据一致性。

对应章节:5.1、5.2、5.3。

六、交付(delivery)

定义:从代码到可发布产物的过程,包括包边界、缓存与流水线。

概念判断条件
包边界跨包引用必须显式声明,禁止隐式深层导入
产物缓存缓存键包含源码、依赖、构建配置的哈希
灰度每批有明确比例、观察窗口与停止条件
回滚回滚版本可用,且数据兼容

常见误用:

  • 缓存键只用文件路径,配置变了仍命中旧产物。
  • 灰度只看崩溃率,不看核心功能成功率。
  • 回滚脚本存在但从未演练。

对应章节:6.1、6.2、6.3、12.3。

七、可观测性(observability)

定义:用最少的字段回答「发生了什么、影响谁、为什么」。

概念判断条件
最小契约每条事件含时间、端、版本、功能、结果、耗时、trace
采样按事件等级分层,错误与阻塞全量
脱敏PII 字段在采集端移除,不依赖下游
告警闭环每条告警有 owner、runbook、关闭条件

常见误用:

  • 字段很多但没有统一命名,无法聚合。
  • 采样把错误也采掉,线上问题查不到。
  • 告警只发群,没有 owner,最后没人处理。

对应章节:7.1、7.2、7.3。

八、安全与隐私(security & privacy)

定义:数据离开设备前的采集、使用与授权边界。

概念判断条件
数据分级每类数据有级别与允许用途
最小权限每个 SDK/模块只拿完成功能所需的数据
同意采集前有可追溯的同意记录
SDK 治理有清单、版本、权限、退出机制

常见误用:

  • 分级只写在文档里,代码中没有对应检查。
  • 第三方 SDK 随业务接入,无人汇总权限。
  • 同意状态只存本地,卸载重装后丢失。

对应章节:8.1、8.2、8.3。

九、国际化(i18n)

定义:同一功能在不同语言、时区、货币、区域下保持等价。

概念判断条件
文案无硬编码,支持复数与性别
时区存储 UTC,展示按用户区域
货币整数最小单位,按区域规则舍入
RTL布局镜像,图标与方向语义正确
区域能力支付、物流、地图等按区域降级

常见误用:

  • 用字符串拼接句子,翻译后语序错乱。
  • 用浮点数存货币,舍入误差累积。
  • RTL 只镜像容器,不镜像图标与键盘方向。

对应章节:9.1、9.2、9.3。

十、无障碍(a11y)

定义:不同能力用户都能完成同一任务。

概念判断条件
语义控件有角色、名称、状态
焦点顺序与视觉顺序一致,焦点可见
读屏状态变化有播报,不依赖颜色
偏好支持减少动效、放大字体、高对比
验收有自动化检查与人工走查

常见误用:

  • 用 div 加点击事件代替按钮。
  • 焦点顺序按 DOM 顺序而非视觉顺序。
  • 只做静态检查,不测读屏实际播报。

对应章节:10.1、10.2、10.3。

十一、治理(governance)

定义:谁决定、谁检查、谁承担后果。

概念判断条件
ADR记录背景、选项、决定、后果与复审时间
所有权每个包/模块有 owner 与备份 owner
技术债有台账、分级、偿还节奏
规则少量硬规则,自动化检查,失败即阻断

常见误用:

  • ADR 只写「决定了什么」,不写放弃了什么。
  • 所有权挂在团队名下,实际无人负责。
  • 技术债台账只增不减,没有偿还计划。

对应章节:11.1、11.2、11.3。

十二、迁移(migration)

定义:从旧架构到新架构的受控替换。

概念判断条件
绞杀者新路径按流量比例接管,旧路径保留
双写两个写入路径都可回滚,有一致性校验
兼容窗口明确起止时间与退出条件
退出旧路径无流量、无回滚需求、数据已校验

常见误用:

  • 迁移没有退出条件,旧代码永久保留。
  • 双写只写不校验,分叉数月后才发现。
  • 宣布完成后立即删除旧路径,没有观察期。

对应章节:12.1、12.2、12.3。

一页纸判据

把上面十二组压缩成十二个问题,评审时逐条问:

  1. 这一处差异属于哪一级承诺?验收方式是什么?
  2. 这条依赖是否越层?图里有没有环?
  3. 这个能力未声明时按什么处理?
  4. 这个阶段的预算阈值是多少?超了谁负责?
  5. 这个依赖挂了影响哪些功能?降级路径测过吗?
  6. 这个包允许被谁引用?缓存键包含什么?
  7. 这条事件的最小字段齐吗?错误会被采样掉吗?
  8. 这类数据属于哪一级?谁授权采集?
  9. 这个格式在目标区域正确吗?RTL 下会怎样?
  10. 这个控件读屏会读出什么?焦点顺序对吗?
  11. 这个决定记录在哪?owner 是谁?
  12. 这次迁移什么时候算结束?旧路径何时删除?

十二个问题答不上来的部分,就是下一轮治理的输入。

术语对照

中文英文本文用法
端endpoint独立发版的交付形态
承诺promise跨端行为约定
边界boundary代码/数据/责任分界
能力capability端是否具备某项原生能力
策略strategy能力不足时的处理方式
故障域fault domain会一起失败的组件集合
爆炸半径blast radius故障影响范围
绞杀者strangler渐进替换旧路径
兼容窗口compatibility window新旧并存的受控时段

同一个词在不同团队可能有不同含义,评审前先对齐这张表,比争论定义更省时间。

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「books」更多文章

  1. 《互联网产品的 AI 架构·平台化与治理》附录 C 平台化评审清单
  2. 《互联网产品的 AI 架构·平台化与治理》附录 B 能力目录与配额字段速查
  3. 《互联网产品的 AI 架构·平台化与治理》附录 A 治理角色与职责速查