news 2026/5/14 15:03:19

系统架构设计师精华知识点(2026 版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
系统架构设计师精华知识点(2026 版)

第一部分:软件工程基础

1.1 系统工程核心

  • 系统特性:整体性、层次性、相关性、目的性、环境适应性、动态性
  • 核心思想整体最优而非局部最优
  • 霍尔三维结构:逻辑维、时间维、知识维
  • WSR 方法:懂物理、明事理、通人理

1.2 信息系统生命周期

五阶段:系统规划→系统分析→系统设计→系统实施→运行维护

1.3 软件开发模型(必考)

表格

模型核心特点适用场景
瀑布模型线性顺序,文档驱动需求明确稳定的项目
增量模型分批交付,逐步完善需求逐步明确的项目
螺旋模型迭代 +风险分析高风险、大型复杂项目
敏捷开发迭代增量,快速响应变化需求多变、快速交付
统一过程 (UP)用例驱动,架构为中心大型企业级项目

1.4 需求工程

  • 需求分类:功能需求、非功能需求、设计约束
  • 需求获取:访谈、问卷、原型法、头脑风暴
  • 需求分析模型:数据流图 (DFD)、实体关系图 (ERD)、状态图
  • 需求验证:评审、原型验证、测试用例

1.5 软件设计原则

  • SOLID 原则(必考):
    • S单一职责:一个类只负责一个功能
    • O开闭原则:对扩展开放,对修改关闭
    • L里氏替换:子类可替换父类
    • I接口隔离:客户端不依赖不需要的接口
    • D依赖倒置:依赖抽象而非具体
  • 通用原则高内聚低耦合、信息隐藏、抽象化、关注点分离

第二部分:系统架构设计理论

2.1 软件架构基本概念

  • 架构定义:系统的基本组织方式,包含组件、连接件、约束、质量属性
  • 4+1 视图模型(必考):
    • 逻辑视图:功能分解、模块、类、接口
    • 开发视图:静态组织、分层、子系统
    • 进程视图:并发同步、进程 / 线程、调度
    • 物理视图:部署拓扑、硬件、网络
    • 场景视图:用例驱动,串联其他视图(+1)

2.2 经典架构风格(重中之重)

数据流风格
  • 管道 - 过滤器:Unix shell、编译器,组件独立,数据流式传输
  • 批处理序列:传统数据处理,整体处理,批量输出
调用返回风格
  • 主程序 - 子程序:结构化编程,单线程控制
  • 面向对象:对象 + 消息传递,封装继承多态
  • 分层架构:OSI 七层、TCP/IP,每层只与相邻层交互
独立组件风格
  • 客户端 - 服务器:请求 - 响应模式,集中式服务
  • 发布 - 订阅:事件驱动,松耦合,异步通信
虚拟机风格
  • 解释器:规则引擎、虚拟机,跨平台执行
  • 规则基系统:专家系统,基于规则推理
仓库风格
  • 数据库:中央数据存储,各组件共享数据
  • 黑板系统:多专家协作,问题逐步求解

第三部分:分布式系统架构

3.1 分布式基础理论

  • CAP 定理(必考):一致性 (C)、可用性 (A)、分区容错性 (P),三者不可兼得,分布式系统必须选择 P
  • BASE 理论:基本可用、软状态、最终一致性
  • FLP 不可能定理:异步系统中不存在确定性共识算法

3.2 分布式一致性协议

  • 2PC:准备阶段→提交阶段,强一致但可用性差,同步阻塞
  • 3PC:CanCommit→PreCommit→DoCommit,解决 2PC 阻塞问题
  • Paxos:基于多数派,角色:Proposer、Acceptor、Learner
  • Raft:Paxos 简化版,子问题:领导选举、日志复制、安全性

3.3 分布式事务

  • 刚性事务:ACID 特性,强一致性
  • 柔性事务:BASE 特性,最终一致性
  • 常见方案
    • TCC:Try-Confirm-Cancel,业务侵入性强
    • SAGA:长事务,补偿逻辑复杂
    • 本地消息表、消息队列事务

第四部分:系统质量属性与架构评估

4.1 核心质量属性

  • 性能:响应时间、吞吐量、并发数
  • 可用性:MTBF (平均无故障时间)、MTTR (平均恢复时间)
  • 可靠性:容错、灾备、自动重试
  • 可修改性:可维护性、可扩展性、可移植性
  • 安全性:认证、授权、加密、审计

4.2 架构评估方法

  • SAAM:软件架构分析方法,主要评估可修改性
  • ATAM(必考):架构权衡分析方法,评估多个质量属性,识别风险点和权衡点
  • CBAM:成本收益分析方法,在 ATAM 基础上加入经济因素

4.3 质量属性战术

可用性战术
  • 错误检测:心跳机制、异常监控、Ping/Echo
  • 错误恢复:主动冗余、被动冗余、回滚恢复
  • 错误预防:事务机制、进程监控、资源预分配
性能战术
  • 资源管理:引入并发、维持数据副本、增加资源
  • 资源调度:优先级调度、公平调度、负载均衡
  • 资源需求:减少计算量、优化算法、缓存数据

第五部分:新兴架构技术

5.1 微服务架构

  • 核心思想:单一职责、独立部署、松耦合、技术异构
  • 设计原则:康威定律、领域驱动设计 (DDD)
  • 关键技术
    • 服务注册发现:Nacos、Eureka
    • API 网关:Spring Cloud Gateway、Kong
    • 配置中心:Nacos、Apollo
    • 熔断降级:Sentinel、Hystrix
    • 分布式追踪:SkyWalking、Zipkin

5.2 云原生架构

  • 定义:基于云计算技术栈,面向云环境设计和运行的应用
  • 核心原则:服务化、弹性、可观测、韧性、自动化
  • 核心技术
    • 容器化:Docker
    • 容器编排:Kubernetes
    • 服务网格:Istio
    • 不可变基础设施

5.3 Serverless 架构

  • 核心思想:开发者只需关注业务逻辑,无需管理服务器
  • 特点:事件驱动、按需执行、自动扩缩容、按使用付费
  • 典型应用:函数计算 (FaaS)、后端即服务 (BaaS)

第六部分:数据库与存储技术

6.1 数据库基础

  • 三级模式两级映像:外模式→模式→内模式,保证数据的逻辑独立性和物理独立性
  • 关系数据库规范化
    • 1NF:属性不可再分
    • 2NF:消除部分依赖
    • 3NF:消除传递依赖
    • BCNF:消除主属性对码的部分和传递依赖

6.2 数据库优化

  • 索引优化:B + 树索引、哈希索引、覆盖索引,避免索引失效
  • 查询优化:避免全表扫描,优化 SQL 语句,使用 EXPLAIN 分析
  • 分库分表:水平分表、垂直分表、读写分离
  • 缓存技术:Redis、Memcached,解决缓存穿透、击穿、雪崩问题

6.3 NoSQL 数据库

  • 键值数据库:Redis、DynamoDB,适合缓存、会话存储
  • 文档数据库:MongoDB,适合半结构化数据
  • 列族数据库:HBase,适合大数据存储
  • 图数据库:Neo4j,适合关系复杂的数据

第七部分:信息安全技术

7.1 安全设计原则

  • 最小权限原则:只授予完成任务所需的最小权限
  • 纵深防御原则:多层防护,避免单点失效
  • 默认安全原则:默认配置应为最安全状态
  • 安全隔离原则:将不同安全级别的系统和数据隔离

7.2 加密技术

  • 对称加密:DES、3DES、AES,速度快,适合大量数据加密
  • 非对称加密RSA、ECC,速度慢,适合密钥交换和数字签名
  • 哈希算法:MD5 (已不安全)、SHA-1、SHA-256,用于数据完整性验证

7.3 身份认证与授权

  • 认证方式:用户名密码、短信验证码、生物识别、多因素认证
  • 授权协议OAuth 2.0、OpenID Connect、SAML
  • 访问控制
    • DAC:自主访问控制
    • MAC:强制访问控制
    • RBAC:基于角色的访问控制

高频考点速记口诀

  • CAP 定理:CAP 三选二,分区容错不可弃
  • 4+1 视图:逻开进物场,用例来串联
  • SOLID 原则:单一开闭里氏替,接口隔离依赖倒
  • 云原生原则:服弹可韧所零架
  • 信息系统生命周期:信生规分设实运

打印说明:本文档采用标准 A4 纸张,左右边距 2cm,上下边距 2.5cm,分两栏排版,字号 10 号,行间距 1.15 倍。重点内容已加粗,便于快速识别和背诵。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 15:02:36

Android二进制XML逆向工程:AXMLPrinter2深度解析与技术实现

Android二进制XML逆向工程:AXMLPrinter2深度解析与技术实现 【免费下载链接】AXMLPrinter2 AXMLPrinter jar and zip files from Google Code 项目地址: https://gitcode.com/gh_mirrors/ax/AXMLPrinter2 技术痛点分析:Android二进制XML的解析困境…

作者头像 李华
网站建设 2026/5/14 15:02:17

如何利用开源工具实现八大网盘文件高速下载:技术原理与实战应用

如何利用开源工具实现八大网盘文件高速下载:技术原理与实战应用 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…

作者头像 李华
网站建设 2026/5/14 15:01:09

《神秘网络》

原文:towardsdatascience.com/the-arcane-network-95d3f19749be?sourcecollection_archive---------3-----------------------#2024-12-02 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4302fc9ae4ee9be837e375bae43e5b52.p…

作者头像 李华
网站建设 2026/5/14 14:57:11

Postman便携版终极指南:无需安装的Windows API测试完整解决方案

Postman便携版终极指南:无需安装的Windows API测试完整解决方案 【免费下载链接】postman-portable 🚀 Postman portable for Windows 项目地址: https://gitcode.com/gh_mirrors/po/postman-portable 在当今API驱动的开发世界中,Post…

作者头像 李华