架构就是系统的骨架与蓝图,用方框、连线、分层等图形,把“有哪些组件、怎么分工、如何协作、数据怎么走”画清楚,让人一眼看懂整体结构。下面从样子、常见画法、典型架构三部分说明。


一、架构“长什么样”(视觉特征)

  • 形状:方框+箭头+分层/分区
    • 方框=组件/模块/服务(如“用户服务”“数据库”)
    • 箭头=调用/数据流/依赖关系
    • 分层=垂直职责划分(如“前端→网关→业务层→数据层”)
    • 分区=横向隔离(如“用户域、订单域、支付域”)
  • 核心特点:抽象、分层、模块化、有流向
  • 一句话:像一张“系统解剖图”,把复杂系统拆成清晰部件与连接

二、最常见的几种架构样子

1)分层架构(N层,最经典)

垂直分4层,上层只调用下层,职责清晰。

  • 表现层(UI/API)→ 业务层(Service)→ 数据访问层(DAO)→ 存储层(DB/缓存)

2)微服务架构(分布式、去中心化)

按业务拆成独立小服务,通过API/消息互通,无强依赖。

  • 多个独立服务(用户、订单、支付…)→ 注册中心/网关 → 客户端
  • 特点:去中心化、可独立部署、弹性扩展

3)单体架构(All in One)

所有功能在一个进程/项目里,简单但难扩展。

  • 一个大应用包含:UI+业务逻辑+数据访问+数据库

4)事件驱动架构(异步、松耦合)

通过“事件”触发动作,组件不直接调用,靠消息总线传递。

  • 生产者→事件队列/总线→消费者(异步处理)

三、一张标准架构图包含什么

  • 模块/组件:系统有哪些部分(如“网关、用户服务、Redis、MySQL”)
  • 层级/分区:谁在上、谁在下、谁和谁一组
  • 交互关系:谁调用谁、数据从哪来、到哪去
  • 技术栈:用什么框架/语言/中间件(可选)

四、举个通俗类比

  • 建筑架构:地基→梁柱→墙体→屋顶,每层各司其职
  • 软件架构:前端(门面)→网关(入口)→业务层(房间功能)→数据层(储物间)

要不要我把“分层、微服务、事件驱动”三种架构,各给你一张极简文字版示意图,方便你直接套用?

相关链接

4.架构的样子是什么 | 1.负责架构设计是什么意思? | 2.要做一个软件,第一件事就是先做架构吧?