架构图中的东西南北流量

可视化与标准化的重要性
从前车马邮件都慢,爱情像慢电影,而现在信息传播和协作节奏已大不相同——同样的,制图工具的变化也改变了我们展示系统的方式。
过去教科书和工程图多为严格规范的手工绘制,风格统一、标注清晰。如今我们有了 Miro[1] 、Figma[2] 、Mural[3] ,以及开源的 Excalidraw[4] 、Tldraw[5] ,和国内的 Processon[6] 之类的在线画布工具(链接见上文)。这些工具降低了协作门槛,但“工具易得、图能否被人读懂”仍取决于制图者是否遵循标准与约定。
非标准化的架构图会带来沟通成本和风险:误用图标、调用关系画错、层次不清、责任边界模糊,都会导致实现偏差,严重时甚至造成生产事故。因此在画架构图时,明确参与者(谁发起、谁被调用、哪些是第三方)、数据和控制流向、以及图示约定,比花哨的样式更重要。
东西流量(East–West)与南北流量(North–South)
这两个术语源自网络/系统架构图的约定:图的顶部(North)通常表示外部世界或客户端,底部(South)通常表示核心或后端基础设施。垂直方向上的流动(外部⇄内部)称为“南北流量”;而同一层级、横向相邻服务之间的流量称为“东西流量”。
要点总结:
- 东西流量:服务间的内部通信,关心的是低延迟、低抖动、稳定的内部带宽、服务发现与治理等;在高性能计算、分布式训练和数据库同步场景中尤其敏感。
- 南北流量:外部客户端与服务端之间的交互,侧重带宽、边界安全(防火墙、WAF)、鉴权、限流/熔断与可用性保障。
对比(精简)
| 特征 | 东西流量 (East–West) | 南北流量 (North–South) |
|---|---|---|
| 流向角色 | 服务 ↔ 服务(Server–Server) | 客户端 ↔ 服务(Client–Server) |
| 覆盖范围 | 数据中心 / 系统内部 | 外部与内部之间的进出边界 |
| 典型示例 | 微服务之间的 RPC/HTTP 调用、应用读写数据库、集群内同步 | 浏览器或 App 访问 API、外部用户下载/上传、CDN 边缘请求 |
| 关注点 | 延迟、抖动、内部带宽、服务治理 | 带宽、鉴权/安全、限流、对外 QoS |
| 直观比喻 | 办公楼内的走廊与通道(内部协作) | 办公楼的大门和主干道(对外出入口) |
把东西流量想成系统的“血液循环”,把南北流量想成系统的“呼吸/进出门”有助于把握两者在设计与运维上的侧重点。
在架构图中如何使用这些概念
- 在画图时用一致的方向与层次来区分“边界”(north/south)和“内部”(east/west)。
- 对于高频、低延迟的东西流量,标注路径的延迟要求、带宽或协议(例如 gRPC、RDMA、内部消息队列)。
- 对于南北流量,强调边界安全、鉴权方式、流量入口(API 网关、负载均衡器、CDN)以及限流策略。
- 在图例(legend)里列出常用图标与约定,团队内建立制图规范并在 PR/评审时检查。
架构图示例(说明)
System Design Master template

上图(System Design Master template)展示了典型的分层视图:顶部为客户端/外部接入,中间为应用与服务层,底部为数据与第三方系统。沿垂直方向我们能看到南北流量的入口与出口;在服务层内部,不同组件之间的交互即东西流量。
techtribes.js
另一个示例(Techtribes.js 的容器级架构图)则强调容器/服务之间的依赖关系——这些更多属于东西流量范畴,而外部服务(如第三方 API)则属于南北方向的交互。
小结
理解并在架构图中明确区分东西流量与南北流量,有助于:
- 更清晰地表达责任边界与调用链路;
- 针对不同流量类型采取恰当的优化和保障措施(例如延迟优化 vs 安全/带宽防护);
- 在团队内形成统一的制图规范,减少沟通误解。
在下次绘制架构图时,把“流量方向”当成一条显性的维度:它会让设计更明晰,讨论更高效。
参考
- Miro: https://miro.com/
- Figma: https://www.figma.com/
- Mural: https://www.mural.co/
- Excalidraw: hbttps://excalidraw.com
- Tldraw: https://www.tldraw.com/
- Processon: https://www.processon.com/
免责声明
本文仅代表个人观点,与本人所供职的公司无任何关系。
