文章摘要
架构图是系统设计的核心工具,能清晰展示软件结构、模块关系和数据流向。本文用通俗语言讲解架构图的绘制方法,适合技术人员和非技术人员阅读。
核心要点:
架构图的作用:类比装修户型图,帮助团队统一理解系统设计,避免沟通偏差。
常见类型:包括物理部署图、逻辑架构图、应用架构图、交互时序图等,日常最常用的是分层功能模块图。
绘制原则:分层分模块、符号统一、线条简洁、宏观视角、易于讲解。
分层方法:经典三层(前端-服务-数据层)或多层进阶(客户端-网关-微服务-数据库-基础设施)。
模块拆分:按功能划分(如订单、支付模块),用方块表示,箭头标明依赖关系,支持嵌套子模块。
常用符号:方块表服务、圆形表第三方、云朵表云平台、箭头表数据流,配合图例说明更清晰。
通过规范化的架构图,团队能高效协作,降低系统复杂度。
说到“架构图”,有的人立马会想:“是不是程序员每天开会嘴里念叨的那个‘系统设计’?”
还有人直接晕菜:“画那么多方块,线拉得像蜘蛛网有什么用?不写代码就能搞成系统?”
别笑!其实画架构图本质上就和装修房子前画户型图差不多,先想清楚怎么样分区、哪个是卧室哪个是厨房,水电管子咋布、哪里上锁哪里放床一样。
没有一张架构图,系统做大了你十有八九会迷路。
再举个通俗的例子:
- 老板说:“我要做个外卖软件,上面有下单、配送、商家、支付、客服。”
- 不画图,全靠嘴说,大家脑补不一样,你理解“配送”是机器人跑,他理解是骑手,有人还当是航拍无人机。
- 画个架构图,大家统一认识,干啥一目了然:这些模块怎么分?谁和谁通讯?数据库放哪里?外部对接哪些服务?底层怎么托管?
所以,架构图就是软件/系统/平台的“户型总线”,画清楚了大家都不瞎忙。
我们要想明白怎么画,首先得知道“架构图”有好几种。常见的有这几类,每一类画法、颗粒度、符号都还有点区别。
-
物理架构图(部署图)
讲服务器、机房、网络拓扑:哪个服务器搭在哪?数据库分布?云平台节点在哪里? -
逻辑架构图(系统架构图、功能架构图)
讲业务模块和逻辑关系:分成几层?每层有哪些模块?谁跟谁交换信息?一般都是方块嵌套方块。 -
应用架构图
偏重于描述具体的应用系统,比如“业务子系统(订单、支付、用户)”之间的连接和流向。 -
交互架构图(时序图/流程图)
主要不是画结构,而是描述某个业务场景中各系统(模块)之间的消息收发过程,比如“用户下单后信息怎么从前端传到后端,再传数据库”。 -
数据架构图/ER图
展示数据表结构、字段之间的主外键关系。虽然不是主角,但和系统架构图有交集。 -
混合架构图(真实项目常见)
有些公司画的图,啥都混在一起:既有服务器分布,又有代码结构,还有数据交换……
重点是“老板、甲方、开发都能秒懂”。
- 小结:
咱入门、日常最常见的其实还是“功能模块分层架构图”+“物理部署图”。
看了太多奇葩架构图,深刻总结几点(适用于99%场景):
-
分层分模块,别全堆一起
什么都往一个大方框里挤,最后谁也看不懂。分层分模块是架构图的灵魂。 -
符号清晰、图例标注
用统一的方块、圆、箭头,画完在旁边列个说明,别人一看就懂“这个方块是啥,那条线是啥意思”。 -
线条不交叉,方向单一
线条要清楚别乱交叉,不然最后像“蜘蛛网”。
箭头巨大作用——表示“谁调用谁、数据怎么走”。 -
专注“宏观结构”,别画太细碎
架构图是“总览”,不用每个类、每个表都画出来。适当抽象。 -
适合讲解(自己or同事or老板)
能拿出去做PPT,别人两分钟讲明白,就算大功告成。
1. 经典三层架构示例
【举例】比如你做电商/外卖/网站/APP系统,最常见的是“前端-中间层-后端数据库”这样的三层结构:
- 表层(用户界面层):APP/小程序/网页/PC端……直接面向用户的界面。
- 服务层(业务逻辑层):Web服务/中间件/后端API/微服务。主要负责接收用户请求、处理业务逻辑。
- 数据层:数据库、缓存、文件存储等。
【画法】:三排大方块,从上到下——
┌──────────┐
│ 前端UI │
└───┬──────┘
│
┌───▼──────┐
│ 后台服务 │
└───┬──────┘
│
┌───▼──────┐
│ 数据存储 │
└──────────┘
【箭头】:上下顺序明确,数据流一目了然
2. 多层架构进阶版
【比如大型互联网服务/企业系统】:
- 客户端(UI、APP、PC、小程序等)
- 接入层(API网关、负载均衡、身份鉴权、防火墙)
- 业务服务层(各个独立服务,如订单、商品、会员、消息、支付,每一个是一个方块)
- 数据服务层(SQL数据库、NoSQL、时序数据库、缓存)
- 基础设施层(云主机、存储、CDN、对象存储)
- 运维层(监控、日志、自动告警)
【画法】:从上到下,分层分块
┌──────────────┐
│ 前端客户端 │
└─────┬────────┘
│
┌─────▼─────┐
│ API网关 │
└──┬───┬────┘
│ │
┌─▼─┐┌─▼──┐
│订单││商品│
└───┘└───┘... ← 各业务微服务横着排列
│ │
┌──▼───▼───┐
│数据库/缓存│
└──┬──────┘
│
┌──▼───────┐
│云服务/监控│
└──────────┘
3. 分层的实用建议
- 从用户流入的“起点”开始,顺着画。一般是从上到下、从左到右。
- 每一层最多2-5个模块,不然太密集。
- 层级要“正交” —— 不同职责分给不同层,别让数据库混到服务层去。
1. 什么叫“模块”
模块(英文module),就是把大系统劈成若干“功能单元”。每个单元只负责一小块事情。
比如“用户登录”是一个模块,“订单管理”是一个模块,“消息推送”是一个模块。
2. 如何实操“分模块”
a. 想清楚你系统有哪些主要功能(业务维度)
【举例】做个外卖平台:
- 用户模块(注册/登录/信息修改/实名认证)
- 门店模块(店铺管理/上架商品/活动促销)
- 订单模块(下单/查询/状态变更/订单分配)
- 配送模块(骑手/调度/地图导航/实时定位)
- 支付模块(收款/结算/退款/支付渠道)
- 客服模块(投诉/消息/电话/在线聊天)
- 通知模块(短信/推送/邮件)
- 数据模块(数据分析/报表/BI)
b. 画图时每个模块就是一个“长方形方块”
- 方块内部写上清楚名字(别光写一堆代码缩写)
- 相互有数据交互的模块用箭头、连线连接
c. 模块之间用连线表示依赖/通信
- 谁依赖谁,箭头就指向谁,比如“下单模块”要用到“支付模块”,画个箭头从“下单模块”指向“支付模块”。
- 数据流/流程明了,别人一看秒懂。
d. 模块可做嵌套(模块下还有子模块)
- 订单管理下还有“下单接口”、“订单查询”、“订单取消”、“订单同步”等小模块
- 画图时大模块外面包着子模块的小方块,看起来层次分明
3. 常见分模块“思维导图”示例
比如:
【微服务架构】
├─ 用户服务
├─ 订单服务
├─ 商品服务
├─ 支付服务
├─ 配送服务
├─ 店铺服务
└─ 通知/日志/运维服务
再用方块画成一横排,各模块彼此连线。
【大白话小结】
- 模块=功能单元=可独立运作的“砖头”
- 大模块能继续拆小模块,叫“分层次模块化”
- 每个模块负责单一功能,分工明确,出问题好定位
1. 方块——最常用,也是万能符号
- 各种服务、系统、应用,用“矩形或圆角方块”表示
- 里面写名字即可,如“订单服务”、“API网关”、“数据库”
2. 圆形/椭圆——一般用来表示“外部系统、第三方”
- 比如:微信、支付宝、外部短信平台、第三方物流
3. 云朵形状——表示“云服务、云平台、互联网”
- 通常画在边缘,写上AWS、阿里云、腾讯云、CDN等
4. 人形/小人图标——用来表示用户(前端)
- 明确是“人”在和系统交互,有时候用小圆头+小直线(简笔画)
5. 箭头——数据流、依赖流向、调用方向
- 箭头头指向目标模块,表示“数据到了这里”
- 双箭头表示“互相通讯”
- 虚线箭头常用于表示“异步调用”、“备用流程”
6. 文本标注/图例(Legend)
- 图旁边画个斜线框,专门说明每个符号/颜色代表啥
- 比如“橙色=业务服务,蓝色=数据库,绿色=第三方……”
7. 特殊符号
- 齿轮:有时表示“中间件/调度器”
- 闪电:临时缓存/消息队列
- 文件夹:静态文件存储、资源管理
8. 推荐简单标准模板
统一用“矩形方块-箭头”的风格,最不容易出错,老板、甲方、开发都好理解
画架构图其实跟画户型图一样,也没啥神秘的技术门槛。只要掌握了分层、分模块和基本符号,谁都能上手。下面给你讲一套最实用的“画图流程”,保准你按部就班能画出来。
1. 明确你要画哪种架构图
首先,脑子里要想清楚:
- 是画部署图?(要表达服务器分布、物理机位置)
- 还是功能架构图?(要表达系统模块、逻辑分层)
- 还是流程交互图?(更在意数据流、处理顺序)
大多数场合,咱们画的其实都是“系统功能架构图”,用途最广泛。
2. 核心原则:从大到小,先分层,后分模块
- 找出最核心的几个层次(比如客户端-服务端-数据端)
- 每层里的大模块有哪些?(比如订单系统还分下单、支付、查询等)
- 模块和模块之间有啥联系?(谁会调用谁?谁要先过谁的手?)
3. 画最外层的大框架(分层布局)
- 通常采用“自上而下”或者“自左到右”的排布,体现那个“流程感”
- 比如互联网系统最常见的上中下三层排布:
┌─────┐
│ 前端 │
└─────┘
│
┌─────┐
│服务端│
└─────┘
│
┌─────┐
│数据库│
└─────┘
- 也可以横着分,比如微服务侧重模块多的时候横排。
4. 填细节:把每层里的主要模块补全
- 比如服务端层可以拆成:“用户服务”、“商品服务”、“订单服务”、“支付服务”等。
- 数据库层可以拆成:“主库”、“从库”、“NoSQL”、“缓存”等。
- 前端层能拆成:“APP”、“小程序”、“H5页面”、“第三方入口”。
- 把重点功能模块逐一画成方块,名字一定要写清楚,别让外行人看不懂缩写。
5. 用箭头连线,表示依赖或通讯
- 谁调用谁,谁给谁传数据,用箭头明确画出来。
比如:用户下单时会从前端通过“订单服务”走到“支付服务”再操作数据库。 - 一定注意箭头方向,数据流向必须一致,有时还用不同颜色区分“同步调用、异步调用”。
6. 外部系统/第三方服务要独立画出来
- 常见的“微信/支付宝/第三方支付”、“短信平台”、“CDN”、“外部API接入”都画在系统图边缘,用圆形或者椭圆形代表。
- 用虚线箭头表示系统内部和外部通讯,不要和主流程混成一团。
7. 数据存储画法要注意区分
- 关系型数据库(MySQL、PostgreSQL)、缓存(Redis)、消息队列(Kafka、RabbitMQ)用不同标准符号表示。常见是斜角方块或“桶”形符号。
- 文件存储用“文件夹”或“磁盘”符号。
8. 最后加图例和说明,防止误读
- 在图纸边缘拉个小框,写明“哪个符号是服务、哪个符号是第三方、哪个箭头是同步、哪个线是异步等等。”
9. 检查图的逻辑:一眼能看懂数据流,一行有分层、分模块、分通信
- 别把所有线都交叉乱拉,容易看混。必要时把复杂依赖画分图、分场景拆画。
假如老板让你做一个外卖系统,包含用户、小程序、商家、支付、骑手、客服等功能。怎么画架构图?
- 画大分层:
用户前端 ←→ API网关 ←→ 业务服务(订单/商家/用户/支付/配送/客服/通知服务器) ←→ 数据库/缓存
│
外部服务(微信、支付宝、短信、地图API)
- 换成方块:
前端层
┌────────────┐
│ 用户APP │
│ 小程序 │
│ 商家端 │
│ 骑手端 │
└────────────┘
服务接入层
┌──────────────┐
│ 接入网关 │
└──────────────┘
(用箭头连到业务服务层,各端都连网关)
业务服务层
┌─────────────┬────────────┬────────────┬─────────────┬──────────────┬────────────┐
│ 用户服务 │ 商家服务 │ 订单服务 │ 支付服务 │ 配送服务 │ 客服服务 │
└─────────────┴────────────┴────────────┴─────────────┴──────────────┴────────────┘
(每个业务模块单独画一个方块,彼此通过箭头连接)
数据服务层
┌──────────────┐
│ 主库/从库/缓存│
└──────────────┘
(每个业务模块都连数据库缓存/分布式消息队列)
外部第三方
┌───────────────┬───────────────┬─────────────┐
│ 微信/支付宝 │ 短信服务 │ 地图API │
└───────────────┴───────────────┴─────────────┘
(支付服务和客服服务连外部支付和短信模块,配送服务连地图API)
监控运维层
┌──────────────┐
│ 日志/告警 │
└──────────────┘
(所有模块与日志告警服务有连线)
这样画出来一份架构图,层次分明、模块清晰、箭头指向关系一目了然。
画图工具千千万,别玩花样,能用的就好:
1. PowerPoint(PPT)
- 小白入门首选,只需拖方块、连线、加文本就够,做PPT讲解秒级出图
- Excel/Word也能勉强实现
2. Visio
- 微软出品,专业画流程图和各类架构图,模板丰富
- 支持分层叠加、复杂符号
3. draw.io(现叫diagrams.net)
- 免费在线,拖拉式画图,支持保存为多种图片格式,支持协作
- 已成为IT互联网公司画图标准
4. ProcessOn
- 国内流行的免费在线画架构图网站,支持实时协作、分层
- 支持流程图、时序图、UML等多模板
5. Lucidchart
- 类似Draw.io,功能高级,付费才全用,但免费够画一般架构图
6. Markdown with Mermaid
- 开发者偏爱,在Markdown里用代码写图示,版本控制方便
- 适合技术文档嵌入架构图
7. 白板/纸笔
- 有时候头脑风暴,围着白板,手绘反而最快速,拍照存档即可
你画好架构图,接下来还得会“讲解”。这一步同样重要,讲明白比画得牛逼更关键!
1. 先讲层级再讲模块
- “我们的系统一共分ABC三层:前端、业务服务、数据存储”
- 一层层往下讲,让听的人小脑装一套结构
2. 再讲每层干啥、每个模块负责什么
比如:“订单服务主要管下单流程、支付服务负责钱流、配送服务连骑手定位……”
3. 重点讲箭头流向和数据如何从头到尾走一遍
- 举例:“用户打开APP,下单后信息从前端传到订单服务,然后触发支付服务,再存到数据库,最后通知配送服务”
- 数据流一气呵成,听的人心中有本流程账
4. 讲清楚外部、第三方、异常流程
- “如果支付失败,系统会走回订单服务,触发异常处理并通知客服模块。”
5. 最后讲如何扩展/升级/维护(老板最喜欢听)
- “如果将来要增加新商家类型、新支付方式,只需在对应模块扩展即可,其他模块不变。”
千万别犯这些常规错:
1. 所有东西都塞一个图里,太复杂没人懂
- 比如把部署图、功能图、数据流图全混在一个页面,线像鱼网,方块写满字,老板看三秒头晕。
- 建议:复杂系统拆成几张图,每张只表达一个维度。
2. 模块名字写太技术,外行不懂
- 画的时候喜欢写“UserSvc”、“MongoDB-Shard2”、“MQWorker”,老板问半天啥意思。
- 建议:写明白点,比如“用户服务”、“主数据库”、“消息队列”,后端代码缩写可以放小字标注。
3. 箭头方向没明确,数据流怎么走一团乱麻
- 要一直保持“箭头指引数据动向”,否则大家光看图猜不出流程。
4. 没有图例/标注,别人看不懂符号代表啥
- 明明用了圆圈、齿轮、斜线桶,却不写说明。
- 建议:图旁边加个“图例说明”很关键。
5. 层级交叉混乱,结构不给力
- 明明是分层,却让业务服务和数据库跳来跳去,层里混着外部系统。
- 建议:每层职责分明,尽量让方块不混到不该在一起的地方。
6. 太细太小、结构没抽象
- 有人恨不得每个接口都画出来,结果一页300个方块,谁都不愿看。
- 建议:只画主要模块,小细节可后续补充
1. 配色合理,重要模块突出
- 可以用不同颜色区分核心模块和辅助模块,如业务服务是橙色,数据库蓝色,外部系统灰色
2. 符号标准化,模块比例替换
- 同一类服务用同样的形状、大小,看上去整齐划一
- 外部系统专用圆形,消息队列统一闪电符号
3. 关键流程用加粗线条,辅助流程细线/虚线表现
4. 大模块下嵌套小模块有层次
- 比如“订单服务”下嵌套“创建订单”、“修改订单”、“订单查询”等小模块(小方块嵌在大方块里)
5. 图旁边加上简要描述,方便别人看图无需过多解释
6. 一图多用,能做汇报PPT、对外沟通、技术评审
实际工作里,不同系统、不同类型项目,架构图画法都有细微差异。下面分别介绍几类业务常见画法:
1. 网站系统架构图场景
比如你要画一个电商网站的架构:
总体画法思路
- 顶层是“用户访问端”(PC网页、APP、小程序),多个前端入口用矩形横排
- 下层是“接入网关/负载均衡”,左侧或下方画出来
- 业务层横向展开,“商品服务、订单服务、用户服务、支付服务、评论服务”等各模块方块并排
- 数据层“数据库、缓存、消息队列”排列在底部
- 边缘用圆或云朵画出“第三方服务”(如支付、CDN、短信、物流API)
- 所有模块之间用箭头连接清楚,各层之间数据/请求流动很明显
示例图(文字版)
前端层: ┌─PC网页─┐ ┌─APP─┐ ┌─小程序─┐
│ │ │
┌─────────API网关─────────┐
│ 业务服务层(横排) │
│ ┌─商品│订单│用户│支付│评论─┐
└─────────┬──────────────┘
│
┌─────数据库/缓存/队列─────┐
└───────────────────────┘
第三方接口区: ┌─支付接口┐ ┌─CDN─┐ ┌─短信/物流API─┐
- 决不能出现线条交叉杂乱,建议竖直顺序画
2. SaaS多租户系统架构图场景
特征是每个客户都有自己的数据和隔离环境,比如OA、CRM、在线设计等平台。
总体画法思路
- 顶层表示“多租户入口”,可以画“客户A, 客户B, 客户C…”椭圆
- 所有客户访问“统一网关/API层。
- 业务层可以横向拆分租户独立服务,也可画成共享服务(比如认证、计费、数据分析)
- 数据层重点突出“租户数据隔离”(分表/分库/分区,画多个数据库桶)
- 外部服务同前面类似
- 租户与租户相关的自有模块、数据用方块或色块分开
3. 移动APP+后台服务系统
比如打车类、外卖类、即时通讯APP:
- 顶端画APP(iOS、安卓),旁边小程序、Web端
- 下接网关,分“API网关、鉴权服务”方块
- 后台核心业务模块:“用户服务、订单服务、实时定位服务、推送服务”
- 重点画出“推送通道、消息队列、分布式数据库”及“第三方API”(地图、支付)
- 数据流一定要画清楚,比如“APP→API网关→推送服务→消息队列→数据库”
- 运维监控通常用齿轮或其他专属图标单独表示
4. 企业内部软件/运维平台
比如IT资产管理、自动运维、日志采集平台:
- 顶层是运维人员Web端/命令行/自动化脚本
- 平台服务可分:资产服务、任务调度、API管理、采集服务、告警模块
- 底层是数据库、文件系统、外部云(AWS、Azure等)
- 每个业务模块都和运维人员/管理员/系统API有明确箭头关系
- 各模块间任务流线要清楚,比如“调度服务→采集服务→数据库→告警服务→通知人员”
5. 数据中台/大数据处理系统
业务幕后核心是“数据采集、计算、分析、汇总”:
- 顶端是各种采集源(业务系统、IoT设备、日志平台),可用桶/圆形表示
- 进入“数据采集/ETL服务”
- 进入大数据计算(如Hadoop、Spark),横向画“存算分离层”
- 右侧画各种应用服务(数据报表、API服务、机器学习模块)
- 底部储存层(数据仓库、分布式存储、NoSQL),这些用硬盘符号或盒状桶
- 数据流多要用箭头指明处理/流转方向,便于分析业务瓶颈与逻辑顺序
1. “泳道”或分区式画法
- 把不同业务、不同职责区分为不同的“泳道”(条带),每条带上画自己相关模块,互相连接箭头
- 比如“商家-骑手-用户-运维”四个区,流程横向跨泳道
2. 画“异地多活/灾备”结构时,用左右区分地域
- 左边画“北京机房”,右边画“上海机房”,中间用“同步线、灾备线”表示数据同步
3. 用不同颜色突出主次模块
- 红色/橙色标主模块,灰色标辅助服务
- 外部系统用蓝色或淡灰区分
4. 加“状态、时序”信息在架构图角落补充流程说明
- 比如下单流程分“发起-处理中-成功-失败”阶段,在对应模块旁边显示小图标,提升理解效率
5. 画“微服务频道”,每个微服务用独立方块并排,服务之间用API箭头连接
- 适合讲述微服务架构、服务治理等场景
6. 拆复杂架构图为多页子图
- 主图画总体结构,细化某服务时只展出所在模块+相关流转
- 对大型SaaS平台、大型电商可这样拆解
1. 架构师怎么用架构图
- 传达设计思想,让开发、测试、运维都能直观看到“系统结构”
- 项目开发前先出图,对齐各方认知,减少需求误解
2. 技术交流、评审、版本迭代都用架构图补充
- 新功能上线前,先画增量图,大家一看就知道会加些什么和影响哪些模块
3. 运维和监控依赖架构图定位故障
- 运维通过图分析结构,比如知道“哪个服务连哪个数据库”“断点恢复怎么走”
- 故障定位和性能瓶颈检查,都靠清楚的架构图为基础
4. 培训新人和跨部门合作,用架构图效率最高
- 新人入职第一课,用架构图讲“我们公司核心系统是怎么运作的”
- 跨团队讨论,先对齐架构图再讨论细节,否则你说的“订单服务”对方脑子里可能是别的东西
大白话总结“架构图画法指导”100条,你能用一辈子。下面分主题举例:
1. 分层级招数
- 每一层职责独立、分工明确
- 层与层之间保持正交(只通过接口/协议互动)
- 层级排列方向统一(上至下、左至右)
- 业务服务层细分条件是“是不是独立业务”
- 数据层通常放底部,强调“存储支撑作用”
2. 分模块招数
- 模块即方块,每块只负责一种功能
- 交互频繁的模块彼此用箭头连接
- 子模块嵌进父模块方块里——层次分明
- 通用模块(如“通知服务”)单独拉出来,所有需要通知的模块都连它
- 新功能需要新增模块,直接加新方块,影响面可控
3. 符号用法招数
- 服务系统都用矩形方块
- 第三方系统用圆/o形/云朵符号
- 用户用小人图标,明确“入口”的角色
- 数据库用桶/硬盘/带表格的方块
- 消息队列用闪电/双线桶
- 文本标注不可省,关键符号要有图例
- 箭头只单向,除异步双向通讯外
- 虚线表示备用、异常流程
- 细线表示后台流程,粗线表示主流程
4. 优化和排版招数
- 所有方块大小一致
- 配色少而精,突出核心
- 用底色区分不同部门/系统
- 图不超过两页,太复杂拆子图
- 图例永远放在明显位置
- 每张图只表达一个核心场景
- 关键数据流流程走一遍
- 各层用水平分割,界限清晰
- 易懂优先,别炫技术
5. 讲解套路
- 讲“数据怎么走”,胜过讲代码怎么写
- 用业务场景串联模块,不然没人关心结构
- 案例带动说明,一次下单流程从入口走到终点
- 先大后小,先层后模块,逐步细化
- Boss爱听可扩展、可灾备、可升级的思路
6. 团队协作和培训
- 所有人都能基于架构图沟通需求
- 代码评审时拿架构图比对,找遗漏和冗余
- 新人3分钟看完,问问题不再瞎猜
- 跨团队设计必须架构图先对齐
- 文档里架构图和流程图并用最有效
(……剩下的招数可根据实际项目和风格,100条只做归纳,余下在实际工作中不断沉淀)
1. 电商平台
- 前端(PC、APP、小程序)
- 网关服务
- 业务服务(商品、订单、用户、促销、评论、客服、支付)
- 运维服务(监控、日志)
- 数据库、缓存、消息队列
- 第三方(支付、物流、CDN)
2. 银行/金融系统
- 渠道端(柜面、手机银行、网银、ATM)
- 认证网关、防火墙、通道服务
- 业务模块(账户、交易、风控、授信、报表、通知)
- 核心账务数据库、小额支付数据库
- 内外部数据交换系统
3. 医院医疗信息系统
- 门诊端(医生/护士/病人)
- HIS服务
- 电子病历、药品服务、检查服务
- 支付模块、医保接口
- 医疗数据仓库
4. 物流系统
- 用户端、商家端、仓库端、司机端
- 路由调度服务、订单追踪、运单管理、地图定位
- 运算调度中台、数据分析
- 位置数据库、GIS接口
- 外部对接第三方快递公司API
5. 游戏后端架构
- 玩家APP/网页/PC端
- 游戏API网关、CDN
- 游戏逻辑服、战斗服、排行榜、社交、商城、活动等业务服务
- Redis缓存、MySQL主从、对象存储
- 第三方SDK(支付、登录、语音、广告)
- 运维(告警、日志、上报)、渠道打包等
一句大白话总结:
架构图就是给系统做总览设计的“户型图”,只要分层级、分模块、用统一的符号和清晰的箭头连接、再给出图例和流程,谁都能看懂怎么搭系统,谁都能明白系统之间怎么交流、代码怎么落地,而且还能在开发、沟通、培训和运维环节省下100倍的沟通成本。
新手只要掌握:分层划分、大模块方块、箭头标流向、外部第三方显边缘、图例需注明、讲解突出流程,随时用工具(draw.io/ProcessOn/PPT/白板)就能画出实用的架构图!
架构图不是高大上的装饰品,而是团队和项目的沟通桥梁,是开发流程的指南针,是老板和技术大家的共同语言。
附:架构图画法快速自查表
- 层级分明了吗?(每一层职责清楚?)
- 每个业务模块方块标名了吗?(功能表述是否通俗?)
- 所有箭头指向正常吗?(数据流向一目了然?)
- 外部系统/第三方明显吗?(与系统区分?)
- 图例/标注清楚吗?(带符号说明否?)
- 配色和模块比例是否均衡?(主次突出?)
- 一张图只表达了一个核心场景,没有一锅端?
- 新人看完能讲一遍流程么?(不断实践)









