架构评审在很多团队里都面临着同样尴尬的局面:会议照开、文档照写、结论照批,但系统该出的坑一个没少出。造成这种走过场现象的核心原因,往往不是评审流程本身有问题,而是评审缺少可以争论、可以验证的实质内容。当评审只围绕功能怎么实现打转时,答案早就写在设计文档里了,参会人自然无话可说。要让评审有料,就必须把非功能需求和演进路线这两块硬骨头摆上桌面。

为什么功能导向的评审注定走过场
功能实现是有明确对错的,设计文档写清楚了调用链路和表结构,评审人最多挑几个命名不规范的问题。而架构质量恰恰藏在那些没有明确答案的问题里:这个服务在峰值流量下能扛住多少请求?某个核心依赖挂掉后系统会怎样?三年后这个模块还能不能有人看得懂?这些问题在设计文档里往往只有一句“系统需具备高可用、可扩展能力”的空话,评审自然无从下手。
另一个常见问题是评审时点滞后。很多团队等到详细设计完成后才组织评审,此时开发计划已排、接口已定,即使评审发现架构层面的问题,推翻重来的代价也大到没人愿意承担。于是评审变成了追认仪式,签字走人。合理的做法是在需求澄清阶段就引入非功能需求的讨论,让架构约束提前进入决策视野。
还有一个组织层面的因素:评审人没有责任感。如果评审意见提了也没人跟进闭环,几次之后大家就学会了沉默。评审必须产出可追踪的行动项,并且回顾上一轮评审的遗留问题,否则再好的模板也只是形式主义。
把非功能需求变成可评审的硬指标
非功能需求之所以容易被忽略,是因为它默认模糊、难以验证。解决办法只有一个:量化。性能需求不能写成“响应要快”,而要写成“核心接口P99延迟低于200ms,单实例QPS不低于500”。可用性不能写成“系统要稳定”,而要写成“年度可用性99.95%,故障恢复时间目标RTO为15分钟,数据丢失容忍度RPO为1分钟”。有了数字,评审才有争论的基础。
实际操作中可以按维度建立非功能需求清单。容量维度包括峰值QPS估算、数据量增长预测、存储和带宽预算;性能维度包括延迟分位数目标、吞吐下限;可用性维度包括故障场景枚举、降级策略、熔断阈值;安全维度包括认证鉴权方案、敏感数据加密要求;可维护性维度包括模块耦合度约束、监控覆盖率、部署频率目标。每个维度都要求设计方给出量化的承诺值,评审时逐项检查设计能否支撑这些值。
以容量估算为例,评审时应该看到这样的推演过程:假设业务目标是日活100万,按每用户日均50次请求计算,日均请求5000万,峰值按日均的20%集中在一小时,得到峰值QPS约2800,预留两倍冗余则系统需支撑5600 QPS,再除以单实例500 QPS得出需要至少12个实例,配合弹性伸缩设置最小8实例、最大20实例。这样一串推导放在文档里,评审人立刻能找到可以质疑的点:峰值比例是否合理、冗余系数是否够、伸缩响应时间能否跟上流量爬坡。这才是有实质内容的评审。
演进路线让架构决策有明确的时间边界
架构没有终态,只有阶段。很多评审失败在于试图一次设计出完美架构,结果讨论陷入过度设计的泥潭。更好的方式是要求每个架构方案附带演进路线图:明确当前版本的取舍是什么、哪些技术债被有意引入、预计什么时机偿还、下一个阶段的架构目标是什么。这样评审的讨论焦点就从“这个设计完不完美”变成“这个取舍在当前阶段合不合理”。
一份实用的演进路线应该按季度或半年度拆分里程碑。比如第一阶段聚焦单模块上线验证,接受一定的耦合;第二阶段抽离核心服务、引入消息队列削峰;第三阶段完成多活部署和数据分片。每个阶段要写清楚触发进入下一阶段的条件,比如QPS超过某个阈值或团队规模扩大到某个程度,避免演进变成无期限的拖延。
技术债的管理要配合演进路线落地。建议在评审时建立技术债台账,每项技术债记录引入原因、影响范围、偿还成本和计划偿还时间,并设定总量上限。可以用类似下面的结构维护:
tech_debts:
- id: TD-001
desc: 订单与库存共库,强耦合
reason: 一期上线周期压缩,暂不拆分
impact: 库存表扩容时影响订单服务
cost_estimate: 15人日
repay_milestone: Q3分库阶段
owner: 张三
台账的存在让技术债从口头抱怨变成可管理的工程对象,评审时可以核对偿还进度,防止债越滚越大。
用检查清单和守护指标保证评审闭环
最后需要把以上内容固化成流程工具。一份架构评审检查清单可以覆盖五大块:非功能需求是否全部量化、容量推导是否成立、可用性设计是否覆盖主要故障场景、演进路线是否明确取舍与偿还计划、监控与告警是否覆盖核心指标。每项设置通过、有条件通过、不通过三档结论,杜绝“整体没什么问题”这类和稀泥的表述。
评审通过不代表结束。应该在系统中配置架构守护指标,比如接口P99延迟、错误率、依赖服务的熔断触发次数,这些指标上线后持续运行,一旦偏离评审时的承诺值就触发复盘。同时建立评审行动项追踪机制,每条意见指定负责人和截止时间,下一次评审开始前先回顾上轮闭环情况。当评审意见真正影响了系统质量并且可以被追溯时,参与者的认真程度会自然提升,走过场的问题也就从根上得到了解决。