当前位置: 首页 > web >正文

系统架构设计(十一):架构风格总结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 接口
事件驱动解耦强,响应快调试困难,数据追踪复杂实时推送
微内核插件扩展灵活核心模块设计复杂插件系统
http://www.xdnf.cn/news/6900.html

相关文章:

  • Java-Collections类高效应用的全面指南
  • 数值分析知识重构
  • 【Redis】List 列表
  • 黑马k8s(十)
  • 如何分析动态采样引起的计划不稳定 | OceanBase SQL 调优实践
  • 2025.05.17淘天机考笔试真题第一题
  • 【时时三省】(C语言基础)字符数组应用举例2
  • 游戏引擎学习第290天:完成分离渲染
  • 一阶线性方程 线性方程
  • JAVA EE_HTTP
  • Python训练营打卡Day28
  • Java二叉树题目练习
  • Unity3D仿星露谷物语开发44之收集农作物
  • 物联网赋能7×24H无人值守共享自习室系统设计与实践!
  • linux线程基础
  • Reactor (epoll实现基础)
  • 数字电子技术基础(五十九)——脉冲触发的触发器
  • 量化用到的机器学习书籍推荐
  • Kotlin与机器学习实战:Android端集成TensorFlow Lite全指南
  • 2025B难题练习
  • SEO 优化实战:ZKmall模板商城的 B2C商城的 URL 重构与结构化数据
  • 无监督学习在医疗AI领域的前沿:多模态整合、疾病亚型发现与异常检测
  • Windows本地化部署Dify完整指南
  • python的漫画网站管理系统
  • Oracle 11.2.0.4 pre PSU Oct18 设置SSL连接
  • 计算机操作系统概要
  • 学习日志09 java
  • windows编程中加载DLL的两种典型方式的比较
  • 找客户的app
  • 人脸表情识别检测数据集VOC+YOLO格式9400张8类别