知识卡片
架构设计的四个常见误区
内容
在真正理解”为什么要做架构设计”之前,实践中常见四种似是而非的回答,每一种看起来都有道理,但细究起来都站不住脚。第一种是”因为架构很重要,所以要做架构设计”——这是一句正确的废话,很多创业公司初期产品根本没有正规架构设计过程,撸起袖子就开始编码,上线运行反而更快更稳,说明”不做架构设计系统就跑不起来”这个隐含前提本身不成立。第二种是”不是每个系统都要做架构设计吗”——这是知其然不知其所以然,很容易让架构师走上生搬硬套业界其他公司现成架构的歧路,一旦强行引入水土不服的架构,最后往往不得不削足适履、不断重构甚至推倒重来。第三种是”公司流程要求系统开发过程中必须有架构设计”——这是舍本逐末,因为流程规定、或者”架构师总要做点事情”而做架构设计,会导致本来不需要架构设计的需求也走一遍形式,白白浪费时间拖慢进度。第四种也是最危险的一种,是”为了高性能、高可用、可扩展,所以要做架构设计”——持这种观点的架构师往往不管什么系统、什么业务,上来就要求”高性能、高可用、高扩展”面面俱到,结果架构设计复杂无比、项目落地遥遥无期、团队天天为方案吵架,费尽力气上线后却依然运行不稳定、出问题难解决、加个功能要改一个月。这四个误区共同的问题是:都没有回答”架构设计到底在解决什么具体问题”这个根本问题,只是拿”重要”“大家都做”“流程要求”“追求高指标”这类外部理由来搪塞。
结构图:
flowchart TB
Q["为什么要做架构设计?四个站不住脚的答案"]
Q --> A["因为架构很重要<br/>⚠️正确的废话,没答案"]
Q --> B["不是每个系统都要做吗<br/>⚠️容易生搬硬套业界架构,水土不服"]
Q --> C["公司流程要求必须做<br/>⚠️舍本逐末,浪费时间拖慢进度"]
Q --> D["为了高性能/高可用/可扩展<br/>⚠️最危险:不管三七二十一贪大求全,<br/>架构复杂无比,项目落地遥遥无期"]
参考来源
- 位置:《从零开始学架构》第03讲《架构设计的目的》"架构设计的误区"(源文件:_epub-src/OEBPS/text00000.html)
- 结论依据:原文逐条分析"因为架构很重要,所以要做架构设计……这是一句正确的废话","不是每个系统都要做架构设计吗……这样的架构师或者设计师很容易走入生搬硬套业界其他公司已有架构的歧路","公司流程要求系统开发过程中必须有架构设计……都是舍本逐末","为了高性能、高可用、可扩展,所以要做架构设计……不管三七二十一,不管什么系统,也不管什么业务,上来就要求'高性能、高可用、高扩展',结果就会出现架构设计复杂无比,项目落地遥遥无期",直接支撑本卡片结论。
- 原始内容:这类架构师或者设计师不管三七二十一,不管什么系统,也不管什么业务,上来就要求"高性能、高可用、高扩展",结果就会出现架构设计复杂无比,项目落地遥遥无期,团队天天吵翻天……等各种让人抓狂的现象,费尽九牛二虎之力将系统整上线,却发现运行不够稳定,经常出问题,出了问题很难解决,加个功能要改 1 个月……