2026/3月/13日课程博客 软件架构师如何工作:从《架构漫谈》九篇博客的深度思考
由于CPU前几天坏了,修了几天,下面来开始我们的软件架构博客。
架构漫谈九篇全复盘:软件架构师到底该怎么工作
读完王概凯老师(Kevin)在InfoQ上发表的《架构漫谈》系列九篇文章,我最大的感受是:架构从来不是技术炫技,而是解决人的问题、平衡多方利益、并让系统有序生长的实践活动。这九篇内容,从架构的本质探讨到落地细节,层层递进,清晰地勾勒出一名合格软件架构师的完整工作路径与核心心法。结合我个人的实践与思考,我将这系列文章的精华与我的理解整理成这篇分享。
一、核心认知刷新:架构师,首先是“人”的问题解决者
在深入任何方法论之前,我们必须从根本上刷新对“架构”和“架构师”的认知。这是一个关键的出发点。
传统观念中,架构师常被视为“技术巅峰”的象征,是精通各种框架、模式和尖端技术的专家。然而,《架构漫谈》开篇就直指本质:架构解决的是人的问题。它的定义是“根据要解决的问题,对目标系统的边界进行界定,并对目标系统按某个原则进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,并对这些切分出来的部分,设立沟通机制。”
这个定义里,核心词是“角色”、“开展工作”、“沟通机制”——无一不与“人”相关。因此,软件架构师的核心使命并非编写最精妙的代码,而是识别并解决真正的问题,并通过对系统的合理切分与组织,让相关的人(团队)能够高效、协作地完成工作。
简而言之,架构师是系统的设计者、利益的平衡者、复杂问题的终结者,而非仅仅是高级程序员。这个认知转变,是开展一切有效工作的前提。
二、工作的起点:精准识别“真问题”
系列第三篇文章用“把袋子里的土豆切一半下锅”的例子生动地说明:准确识别真正的问题,就解决了工作的一大半。这是架构师最核心、也最容易被忽视的能力。
我们日常接收的,常常是别人给出的“解决方案”(如“我需要一个审批流”),而非“问题本身”。架构师必须跳出执行层思维,像侦探一样追问两个元问题:
- 这是谁的问题? (明确问题的主体和利益相关方)
- 真正的问题是什么? (剥离表面的诉求,挖掘底层根源)
例如,业务方提出“要提升系统性能”。如果直接开始优化代码和数据库,可能事倍功半。优秀的架构师会追问:是终端用户操作卡顿(体验问题)?是后台报表生成太慢影响决策(效率问题)?还是系统吞吐量不足制约了业务增长(规模问题)?问题的主体不同,真正的问题不同,最终的架构策略会截然不同。
这种“问题思维”要求架构师具备深刻的业务洞察力和同理心,能够与不同背景的利益相关者沟通,穿透表象,直达核心诉求。
三、核心工作:架构切分——利益与权责的艺术
认识到真问题后,下一步是设计解决方案,其核心动作是“架构切分”。第四篇文章点破了切分的本质:所有的架构切分,实质上都是对相关人和团队利益的重新调整与分配。
一次合理的切分,必须遵循几个关键原则:
- 权责对等:谁对某个模块负责,谁就必须拥有对应的决策权。有权无责会滋生混乱,有责无权会扼杀效率。
- 负载合理:切分出来的部分,其复杂度不应超出一个自然人(或一个高效小团队)的认知与负载极限。
- 高内聚,低耦合:在连续时间内发生的、紧密相关的活动不应被强行拆分。切分应发生在自然的边界上。
- 对外透明:切分是系统内部的事务,对系统外部的用户或调用方而言,应尽可能保持接口和行为的稳定。
在软件领域,这种切分主要体现在两个层面:
- 代码架构:如何组织源代码,使得前端、后端、数据等不同角色能并行开发,业务逻辑清晰,变更影响局部化。这关乎开发效率和长期维护成本。
- 部署架构:如何将软件运行实例部署到不同的机器、容器或云服务上,以应对流量、可用性、扩展性等运行期需求。这关乎系统的稳定性和伸缩能力。
最终,软件系统的架构切分,必然会映射并深刻影响到团队的组织架构。这也是为何康威定律(Conway‘s Law)指出:设计系统的架构,受制于产生这些设计的组织的沟通结构。一个成功的架构师,必须考虑到组织现状,并有能力推动组织向适配架构的方向演进。
四、软件架构的专属视角:虚拟化现实业务
第五、六篇文章将视角聚焦于软件本身,阐明了软件的本质是用计算机模拟现实世界的业务,以达成降本增效的目的。因此,软件架构不是凭空创造奇观,而是对现实业务中的分工、流程、规则进行抽象、建模和虚拟化。
这要求架构师必须双脚踩在现实与数字两个世界:
- 吃透业务领域:深入理解行业知识、业务流程、业务规则和其中的核心概念。优秀的领域模型是对现实精准而简洁的抽象,而非架构师臆想的复杂结构。
- 驾驭技术实现:在虚拟化过程中,需要解决硬件异构、网络通信、数据一致性、高并发、高可用等一系列纯技术性问题。
- 协同两类架构:让“代码架构”清晰地表达业务逻辑,让“部署架构”稳健地支撑业务运行,二者相辅相成,软件系统才能健康成长。
许多架构的失败,并非源于技术能力的薄弱,而是源于对业务理解的肤浅,导致设计出来的系统与真实世界格格不入,最终无法创造价值。
五、架构师的立身之本:领导力与超越自我的视角
第七篇文章给出了一个或许有些残酷但极为深刻的见解:没有实质性组织权力的架构师,往往只能沦为“画图师”或“建议者”。因为架构调整本质是利益调整,必然触动现有格局,若无权推动组织变革(如团队重组、职责重定),再好的设计也难落地。
因此,卓越的架构师必须是领导者。这不仅需要技术影响力,更需要正式的授权、跨团队协调的能力以及解决冲突的智慧。他/她需要从“对自己的工作负责”提升到“对解决别人的问题负责”的层面。
这意味着架构师必须“超越对时间的恐惧”,不再仅仅盯着自己任务的完成,而是着眼于整体目标的达成和根本问题的解决。这种视角的转变,是架构师从“技”到“艺”蜕变的关键。
六、从蓝图到现实:用代码为架构注入生命
无论顶层设计多么精妙,最终都需要通过一行行代码来实现。第八篇文章将架构思想精准地落地到代码层面,提出了一套极其实用的代码分层实践:
用户访问层(Service) → 粘合/适配层(Glue Code) → 业务逻辑层(Business) → 数据访问层(Repository)
其核心铁律是:业务逻辑只允许存在于 Business 层。其他各层应保持“愚蠢”和“单薄”,仅完成协议适配、逻辑组合、数据存取等机械性工作。
这样做带来了显而易见的好处:
- 业务核心高内聚:所有业务规则集中在一处,易于理解、测试和演进。
- 变化隔离:用户接口(如API格式)变化、数据来源(如数据库更换)变化,对核心业务逻辑影响最小。
- 便于协作:不同层的代码可以由不同专长的开发者高效并行开发。
- 可测试性强:Business层可以方便地进行彻底的单元测试。
代码结构是架构在微观层面的最终体现。 混乱的代码会迅速腐蚀精良的架构设计。因此,推动并守护良好的代码规范与分层,是架构师确保架构成功落地的“最后一公里”。
七、理清关系:业务、技术与架构的三角平衡
第九篇文章以“钻木取火”的比喻,清晰阐明了业务、技术与架构三者的关系:
- 业务是目标(取火)。
- 技术是手段(钻木、易燃物)。
- 架构是组织技术以实现目标的方法(将钻木、弓弦、绳索等组合成一套高效取火的系统)。
架构师的核心工作,就是在这三角中取得平衡:深刻理解业务目标,合理选择和组合技术手段,通过架构设计以可持续、高效益的方式满足业务需求。技术选型的唯一标准是“匹配问题与长期成本效益”,而非追逐新奇。架构的终极目标,是让技术高效、协同地为业务服务。
八、总结:优秀软件架构师的工作心法
通览全系列,一名优秀的软件架构师,其工作心法可归结为以下几点:
- 从“人”出发,以“问题”为纲:始终牢记所有工作的起点是识别利益相关者及其核心问题,而非预设技术方案。
- 切分即平衡,权责必对等:每一次模块拆分、接口定义,都要考虑其背后的利益与权责分配,致力于打造清晰、自治的协作界面。
- 深耕业务,虚实结合:成为所负责领域的“半个业务专家”,确保架构是对现实业务的合理虚拟,而非技术空中楼阁。
- 拥抱代码,注重落地:架构的生命力体现在代码中。积极推动并捍卫良好的工程实践与代码结构,确保设计能转化为可运行、可维护的系统。
- 超越技术,担当领导:培养领导力,勇于协调资源、推动必要变革,为好的架构落地扫清组织障碍。
- 持恒久之心,求长期最优:在每一个决策点,平衡短期交付压力与系统的长期可维护性、可扩展性,追求全生命周期内的总成本最优。
架构不是一份在项目初期完成后就束之高阁的静态文档,而是随着业务演进、团队成长、技术发展而不断调整和演化的动态决策框架。作为软件架构师,我们最大的价值,就在于运用这种系统性的思考与平衡艺术,将复杂性控制在可控范围内,让团队协作流畅,最终驱动业务持续成功。这,便是《架构漫谈》九篇文章留给我们的宝贵财富。

浙公网安备 33010602011771号