大家是否经常对着复杂的架构图发愁,或者自己画出的图让队友一头雾水?别担心,这篇指南为你介绍 4R 架构方法 。这不仅是一套简单强大的逻辑框架,更是串联业务、系统、应用、部署四大架构图的通用钥匙。
让我们跟随 Gopher 的脚步,从理论到实战,彻底掌握这套系统表达法!
第一部分:4R 核心体系 (The Core Framework)
4R 并不是一种新的技术,而是一套让你把"故事讲清楚"的逻辑框架。它包含由宏观到微观、由静态到动态的四个维度。
① Rank(层级视角)
一句话概念:Rank 决定"你用哪个层级视角来观察系统"。
-
它是什么?
Rank 指的是架构图和讨论的"观察层级",比如:企业级、系统级、服务级、模块级或代码级。它回答的核心问题是:"你现在是在看大地图(宏观),还是在看街道图(细节)?
-
为什么需要它?
如果不先确认 Rank,架构图很容易变成"大杂烩",粒度混乱(业务、接口、数据库混在一起),导致团队讨论跑偏,无法在同一个频道对话。

② Role(系统有哪些角色)
一句话概念:Role 告诉我们"系统由哪些关键角色组成"。
-
它是什么?
Role 指架构图中的"结构元素列表",也就是图上的那些"方块"。例如:API、Service、User、DB、Cache、Gateway、JobWorker 等。
-
为什么需要它?
若不确定 Role,架构图就无法表达"系统本质由什么组成"。这会导致粒度混乱(有的画太大,有的画太细),也无法清晰界定系统的边界和职责。

③ Relation(角色之间的关系)
一句话概念:Relation 说明"角色之间如何连接与协作"。
-
它是什么?
Relation 是架构图中的"箭头与连线",它描述了调用关系、依赖关系、数据流或事件流。它让系统从一堆孤立的方块变成了"网络化的协作结构"。
-
为什么需要它?
没有 Relation,架构图只是一堆散落的积木,看不出系统如何运作,也无法理解依赖链条,容易遗漏关键的交互细节(如错误处理、链路失败等)。

④ Rule(场景中的协作规则)
一句话概念:Rule 描述"角色在场景下如何协作完成业务"。
-
它是什么?
Rule 是系统的"动态视图",通常用序列图或流程图表示。它展示了在特定业务场景下(如下单流程),请求是如何流转的、谁先发消息、怎么处理错误以及业务如何闭环。
-
为什么需要它?
架构图如果只有静态结构(Role + Relation),就无法看到实际的运行机制。没有 Rule,我们无法验证设计是否合理,也难以发现隐藏的复杂性(如超时、回滚、幂等问题)。

第二部分:4R 实战应用 (Practical Application)
理解了 4R,我们就可以用它来拆解软件工程中常见的四种核心架构图。你会发现,不同的架构图,本质上只是 Rank(层级)和 Role(角色) 变了,4R 的逻辑依然通用。
① 业务架构图 (Business Architecture)
Rank (L1 宏观业务层):这是非技术人员也能看懂的上帝视角。
- Role (角色):业务能力(如订单管理能力、支付能力)、业务部门、外部参与者(用户、商家)。
- Relation (关系):价值流转、信息传递。
- Rule (规则):宏观的业务流程(如:从下单到履约的全链路泳道图)。

② 系统架构图 (System Architecture)
Rank (L2 系统集成层):这是架构师和 Tech Lead 最关注的视角。
- Role (角色):微服务、子系统、中间件(MQ, Cache)、数据库、第三方网关。
- Relation (关系):RPC 调用、HTTP 请求、消息发布/订阅。
- Rule (规则):跨服务的时序交互、分布式事务流程。

③ 应用架构图 (Application Architecture)
Rank (L3 内部代码层):这是开发人员日常 Coding 的视角。
- Role (角色):代码分层(Controller, Service, Dao)、核心组件、类、接口。
- Relation (关系):函数调用、类依赖、继承/实现。
- Rule (规则):单个请求内部的处理逻辑、算法流程、异常捕获机制。

④ 部署架构图 (Deployment Architecture)
Rank (L4 基础设施层):这是运维和 SRE 关注的物理/网络视角。
- Role (角色):物理机/虚拟机、Kubernetes Pod、负载均衡器 (LB)、防火墙、CDN、多活机房。
- Relation (关系):网络连通性、VPC 子网、流量转发路径。
- Rule (规则):高可用切换策略、自动扩缩容规则、多活路由规则。

⑤ 支付业务时序图 (Payment Business Sequence)
Rule 规则的业务实战:时序图展示支付业务在部署架构中的实际运行流程。
时序规则说明:
- 边缘处理:CDN加速 + WAF安全检查
- 负载分发:智能路由到最优服务节点
- 业务处理:订单创建 → 风险评估 → 渠道选择
- 支付执行:调用第三方支付接口
- 状态同步:更新订单状态并返回结果
这个时序图完美展现了4R架构的Rule规则:
- Rank:L4部署架构层的业务运行视角
- Role:部署架构中的各个组件角色
- Relation:组件间的调用关系和数据流
- Rule:支付业务的完整执行时序和协作规则
总结
一句话总结 :架构图不在于画得好看,而在于你想在一张图里讲好哪个层级的故事。
4R 的万能公式: 无论你画哪种图,先问自己四个问题:
- Rank:我在画业务(L1)、系统(L2)、应用(L3)还是部署(L4)?
- Role:这一层的主角是谁?(部门?服务?类?机器?)
- Relation:它们怎么连?(价值流?API?函数?网线?)
- Rule:它们怎么动?(流程图/时序图)
掌握了这个公式,你的架构设计将从混乱变得井井有条!
