系统架构设计(十一):架构风格总结2

架构风格汇总

架构风格 核心特点 应用场景
分层架构(Layered) 将系统划分为多个层次,每层只依赖于下一层 企业应用、MIS 系统、三层架构
客户端-服务器(C/S) 分为服务端与客户端,服务集中,客户端请求 数据库系统、桌面应用
管道-过滤器(Pipe and Filter) 数据通过多个处理器(过滤器)依次处理 编译器、数据处理流
微内核架构(Microkernel) 核心服务 + 可插拔扩展模块 操作系统、IDE 插件系统
事件驱动架构(EDA) 组件通过事件异步通信,解耦高 监控系统、实时系统
面向服务架构(SOA) 系统由多个服务组成,通过接口交互 企业集成、大型政企系统
微服务架构(Microservices) 更细粒度的 SOA,服务自治、独立部署 大型互联网系统
REST 架构风格 基于资源的网络交互,使用 HTTP 动词 Web API、移动端后端
共享数据总线(Repository) 所有模块通过共享存储交互 数据仓库、AI 训练平台
黑板架构(Blackboard) 所有模块访问统一"黑板",适合多策略协作 AI 语音识别、专家系统
面向对象架构(OO) 用对象封装数据与操作,强调封装、继承 面向对象编程系统
分布式架构(Distributed) 组件部署在多个节点,协作完成任务 集群系统、分布式数据库

重点架构风格详解

分层架构(Layered Architecture)

  • 结构:UI层 → 业务逻辑层 → 数据访问层;
  • 优点:高内聚、低耦合,利于维护;
  • 缺点:层次多时性能下降;
  • 考试高频:三层架构就是典型分层架构。

面向服务架构(SOA)

  • 核心:服务松耦合、可复用、基于接口通信(如 SOAP/WSDL);
  • 服务注册中心、ESB(企业服务总线)常与 SOA 一起出现;
  • 适合:异构系统集成、政企复杂系统。

微服务架构(Microservices)

  • 核心:服务更小更自治,支持独立开发与部署;
  • 技术支持:注册中心(如 Nacos)、API 网关(如 Kong)、容器部署(K8s);
  • 对比 SOA:粒度更小,DevOps 支持更强;
  • 适合:大规模互联网系统(如电商平台、内容平台)。

客户端-服务器架构(C/S)

  • 特征:分为请求发起者(客户端)与响应处理者(服务端);
  • 常见于:银行柜面系统、局域网办公系统;
  • 考试常问:与 B/S 模式的比较。

管道-过滤器架构

  • 结构:过滤器处理模块+管道连接通道;
  • 优点:易复用、并行处理;
  • 常用于:编译器(词法 → 语法 → 语义)。

架构风格选择对比

架构风格 优点 缺点 适合场景
分层架构 模块清晰,维护方便 依赖层次,性能低 企业业务系统
微服务 高弹性,独立部署 运维复杂,通信开销大 高并发系统
SOA 服务复用,松耦合 架构复杂,依赖中间件 异构系统集成
C/S 快速响应,局域网性能好 不利于扩展,部署繁琐 办公自动化
REST 简洁轻量,易调试 不支持复杂事务 Web 接口
事件驱动 解耦强,响应快 调试困难,数据追踪复杂 实时推送
微内核 插件扩展灵活 核心模块设计复杂 插件系统
相关推荐
Dawson Zhu7 小时前
《Agentic Design Patterns》第 9 章导读:学习与适应(Learning and Adaptation)
人工智能·语言模型·架构·aigc·agi
姜鱼问生8 小时前
Linux 日志增量统计:inode + offset 方案(不丢不重)
架构
软件工程师_罗小东8 小时前
我把这套 AI 落地方案,讲成一条任务闭环
架构
阡陌数智8 小时前
Llama 4 MoE 架构深度拆解:交替稀疏专家设计与生产环境推理落地实战
架构·llama
波加曼大王10 小时前
# vLLM不要迷信PagedAttention神话,聊聊线上藏着的内部碎片陷阱
java·架构
xn713310 小时前
EmbeddingGemma 2 270M 实测:278 Chunk、32 个查询与 RRF 反例
人工智能·后端·架构
漠野92310 小时前
画布的保存按钮背后,站着一个编译器
架构
两万五千个小时10 小时前
DeepSeek Harness 从 0 开始:20 goal模式
人工智能·程序员·架构
漠野92310 小时前
让每个节点自己决定:要不要跑,还是循环跑
架构
dcacheor10 小时前
现代桌面播放器的交互困境与架构演进:从单窗流媒体走向多模态视讯工作台
架构