
架构规划绝非单纯的“技术自嗨”,其终极目的是
1. 核心原则:确认正确目标并逼近它
1.1 价值维度的理解与量化
【案例解析:电商大促系统的重构】
错误目标 :“我们要把系统重构一遍,用上最新的微服务框架,代码更优雅。”(模糊、定性、技术自嗨)
正确目标 :“为了应对双11流量峰值,我们需要将核心交易链路的TPS从1万提升至5万,同时将云服务器成本降低20%。”
操作手段 :
评分卡维度 :稳定性(权重40%)、成本(权重30%)、开发效率(权重30%)。
必要性论证 :如果不做,按照当前流量增长趋势,系统将在Q4崩溃,导致约XXX万的GMV损失。这就是“生存优势”的直接体现。
1.2 校验目标的正确性
2. 场景化策略:处理三类典型目标
2.1 应对“技术驱动”的目标
-
战略视角 :强迫技术人员回答“这个技术对公司战略有何帮助?” -
团队因素 :考虑人才梯度与稳定性。
【案例解析:引入Rust重写网关】
场景 :某资深工程师提议用Rust重写Java网关,理由是Rust性能好、内存安全。
六个问题评估(模拟) :
当前网关性能是瓶颈吗?(答:不是,瓶颈在数据库。)
团队有几个人懂Rust?(答:只有提议者1人。)
如果你离职,谁来维护?(答:...沉默。)
决策结论 :驳回 。虽然Rust技术优秀,但该目标未考虑“团队稳定性”和“战略紧迫性”。
修正后的目标 :如果目标是解决GC停顿导致的超时,优先优化Java GC参数或进行局部热点优化,而非更换语言栈。
2.2 应对“业务项目”的目标
-
决策权的取舍 :不要让执行层的程序员去面对业务的无限索求,架构师要替团队通过架构设计来做“隔离”。
-
延迟/隔离决策 :利用技术手段应对不确定性。
【案例解析:多变的营销活动系统】
场景 :运营部门每周都要玩新花样(拼团、砍价、秒杀、接龙...),开发团队疲于奔命,系统代码因为各种特判逻辑(if-else)变得不可维护。
错误做法 :业务提一个需求,开发写死一个逻辑。导致“取舍权”分散到了写代码的执行者手中,代码腐化。
正确架构目标 :构建一个“规则引擎”或 “活动编排中心”。
技术手段 :将业务规则抽象为配置,将决策权“延迟”到运行时配置阶段,甚至下放给运营人员自己配置。
价值 :开发团队不再因为业务变更修改代码,实现了业务变化与技术稳定性的“隔离”。
2.3 应对“太过超前”的目标
-
决策勇气 :坚持做难而正确的事。 -
唯一性原则 :目标不能既要又要(既要快,又要稳,还要省钱,还要超前),必须锁定一个核心。
【案例解析:初创期的统一账号体系(Passport)】
3. 思考题与复盘行动
-
复盘“尸体” : -
练习 :找出一个过去两年内失败的技术项目。 -
反思 :它的目标当时是如何定义的?是否只是为了“做技术”而做?它真的为业务解决了生存问题吗? -
分析“宏伟项目” : -
练习 :分析行业内知名的中台战略(如某大厂中台的起落)。 -
反思 :为什么有的成功了,有的变成了部门墙?是因为技术不行,还是因为目标脱离了业务实际阶段? -
分享“劝阻经历” : -
练习 :在技术分享会上,分享一次你成功劝阻业务方或团队成员做蠢事的经历。 -
核心 :你是如何论证那个目标是错误的?你用了什么数据或原则?
寻找“唯一且正确”的架构目标,本质上是一种
-
剔除那些为了技术而技术的冲动; -
剔除那些短期取巧但长期有毒的业务妥协; -
剔除那些看似美好但团队能力无法承载的幻想。

