架构就是系统的骨架与蓝图,用方框、连线、分层等图形,把“有哪些组件、怎么分工、如何协作、数据怎么走”画清楚,让人一眼看懂整体结构。下面从样子、常见画法、典型架构三部分说明。
一、架构“长什么样”(视觉特征)
- 形状:方框+箭头+分层/分区
- 方框=组件/模块/服务(如“用户服务”“数据库”)
- 箭头=调用/数据流/依赖关系
- 分层=垂直职责划分(如“前端→网关→业务层→数据层”)
- 分区=横向隔离(如“用户域、订单域、支付域”)
- 核心特点:抽象、分层、模块化、有流向
- 一句话:像一张“系统解剖图”,把复杂系统拆成清晰部件与连接
二、最常见的几种架构样子
1)分层架构(N层,最经典)
垂直分4层,上层只调用下层,职责清晰。
- 表现层(UI/API)→ 业务层(Service)→ 数据访问层(DAO)→ 存储层(DB/缓存)
2)微服务架构(分布式、去中心化)
按业务拆成独立小服务,通过API/消息互通,无强依赖。
- 多个独立服务(用户、订单、支付…)→ 注册中心/网关 → 客户端
- 特点:去中心化、可独立部署、弹性扩展
3)单体架构(All in One)
所有功能在一个进程/项目里,简单但难扩展。
- 一个大应用包含:UI+业务逻辑+数据访问+数据库
4)事件驱动架构(异步、松耦合)
通过“事件”触发动作,组件不直接调用,靠消息总线传递。
- 生产者→事件队列/总线→消费者(异步处理)
三、一张标准架构图包含什么
- 模块/组件:系统有哪些部分(如“网关、用户服务、Redis、MySQL”)
- 层级/分区:谁在上、谁在下、谁和谁一组
- 交互关系:谁调用谁、数据从哪来、到哪去
- 技术栈:用什么框架/语言/中间件(可选)
四、举个通俗类比
- 建筑架构:地基→梁柱→墙体→屋顶,每层各司其职
- 软件架构:前端(门面)→网关(入口)→业务层(房间功能)→数据层(储物间)
要不要我把“分层、微服务、事件驱动”三种架构,各给你一张极简文字版示意图,方便你直接套用?