Skip to content

考点清单

  • [x] 断路器模式 3 状态
  • [x] C/S 与 B/S 架构层次
  • [x] 质量属性 6 要素 + 场景识别
  • [x] ATAM 效用树结构 + 3 种场景类型
  • [x] 敏感点 vs 权衡点 vs 风险点
  • [x] ISO 25010 可靠性 4 子特性
  • [x] 微服务 vs 单体架构对比
  • [x] ping/echo vs 心跳
  • [x] WSDL/SOAP/UDDI 角色分工
  • [x] 架构风格分类与辨析
  • [x] ABSD / DSSA
  • [x] 体系结构演化 6 步骤

笔记

一、断路器模式 3 状态 ★

状态行为
关闭(Closed)请求正常通过,断路器不介入
打开(Open)错误超阈值,请求快速失败
半打开(Half-Open)打开一段时间后,尝试放行部分请求检测服务是否恢复

二、C/S 与 B/S 架构层次

架构层次
两层 C/S客户端 + 数据库服务器
三层 C/S客户端 + 应用服务器 + 数据库服务器(表现层/业务逻辑层/数据访问层)
B/S特殊的三层架构(浏览器 - Web 服务器 - 数据库)

"功能层"不是标准术语,标准三层:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。


三、质量属性 6 要素 ★

要素说明
刺激源产生刺激的物理/逻辑实体
刺激触发事件
环境刺激发生时系统所处条件
制品被刺激的系统或部分
响应刺激到达后采取的行动
响应度量可测量的指标

质量属性场景识别示例:

场景质量属性
系统业务故障时 3 秒内启动备用系统可用性
用户输入→处理→展示结果功能性
数据导入导出 1 分钟内完成性能
用户量增长 3 天内扩展空间可修改性
支持 3 国语言 + 搜索自动补全易用性
云服务器故障 2 秒内切换可用性
远程在线诊断查看问题可测试性
1 分钟检测故障 + 1 小时恢复可靠性
多因素认证(密码+指纹+面容+IC卡)安全性

四、ATAM 效用树 ★

结构(根→叶):树根(总体目标)→ 质量属性(性能/安全等)→ 属性分类(如性能→延迟/吞吐量)→ 质量属性场景(叶子节点)。

效用树是评估工具,而非设计工具。

ATAM 3 种场景:

  • 用例场景:正常操作下的预期使用方式
  • 增长场景:适应未来变化的架构修改
  • 探索性场景:极端情况(高负载/故障/攻击)

质量属性评估方法:

方法特点工具
SAAM评估可修改性,使用场景场景
ATAM综合架构评估,权衡分析效用树
CBAM成本效益分析ATAM 后续补充

五、敏感点 vs 权衡点 vs 风险点 ★

概念定义
敏感点为实现某个特定质量属性产生影响的设计决策点
权衡点影响多个质量属性的敏感点,调整时对其他属性有负面影响
风险点架构设计中可能导致项目失败的设计决策
非风险点与风险点相对

六、ISO 25010 可靠性 4 子特性 ★

ISO 25010 中,"可用性"是"可靠性"的子特性

子特性说明通俗理解
成熟性(Maturity)正常运行时满足可靠性要求的程度"别主动出错"
可用性(Availability)系统需要时可操作和访问的程度"需要时就能用"
容错性(Fault Tolerance)存在故障仍能按预期运行"出错了也别趴窝"
可恢复性(Recoverability)故障后恢复数据并达到预期状态"趴窝了快速爬起来"

"稳定性"在 ISO 25010 中非官方术语,常被误归于性能效率。

易分析性属于可维护性子特性(非易用性)。数据延迟时间是性能效率指标,非可用性指标。


七、微服务 vs 单体架构 ★

维度单体架构微服务架构
代码结构单一代码库,模块紧耦合多独立代码库,服务松耦合
数据管理共享数据库,ACID 事务独立数据库,需处理最终一致性(BASE)
部署方式整体打包(WAR)独立容器化(Docker+K8s)
扩展性垂直扩展(Scale-Up)水平扩展(Scale-Out)
技术栈统一多语言混合(Polyglot)
架构适用场景
单体小项目(<10人)、快速验证、强一致性要求(银行核心)
微服务大型系统(>50人)、快速迭代(电商、社交网络)

微服务缺点:复杂度高、部署测试成本高、运维成本高(链路追踪等)、分布式事务问题。


八、ping/echo vs 心跳

机制特点频率用途
Ping/Echo客户端发 ping,服务器回 echo可能需要更频繁检测连接状态
心跳(Heartbeat)定期发心跳包,对方回复确认较低频率维持长连接

心跳资源利用率更低:频率低、数据量小、维持活跃状态。


九、WSDL / SOAP / UDDI ★

协议角色类比
WSDL服务接口说明书(what/how/where)API 合同
SOAP服务间通信数据传输规范(Envelope + Header + Body)商务信函/国际快递包裹
UDDI服务注册中心,发布和发现电话簿

协同流程:提供者发 WSDL 到 UDDI → 消费者查 UDDI 获取 WSDL → 根据 WSDL 生成 SOAP 请求 → 发送 SOAP 消息。


十、架构风格分类与辨析 ★

大类子风格易错点
调用返回主程序子程序、面向对象、层次黑板不属于调用返回(由数据状态驱动)
数据流管道-过滤器、批处理管道过滤器可并行执行;批处理顺序执行
仓库风格黑板(特殊仓库)、中央数据结构黑板 ≠ 管道-过滤器;管道过滤器不是仓库子风格
虚拟机解释器、基于规则的系统基于规则系统构建在解释器之上
独立构件进程通信、事件驱动进程通信连接件=消息传递;事件驱动=松耦合

仓库风格核心:共享的中央数据结构。黑板三要素:黑板 + 知识源 + 控制器。


十一、ABSD(基于属性的软件设计)

需求来源 3 类:

  1. 系统的业务目标
  2. 系统的质量目标
  3. 系统开发人员的业务目标(预算、周期、技术栈、可维护性等)

十二、DSSA(特定领域软件架构)

知识点说明
三阶段领域分析 → 领域设计 → 领域实现
过程模型迭代精化,与螺旋模型相似(非原型模型)
领域专家角色领域分析员、领域设计员、领域实现员

十三、互操作性与网格计算

最具代表性组合五层沙漏模型 + 开放式 Web Service(基于开放标准实现异构资源互操作)。


十四、体系结构演化 6 步骤

分析变化 → 制定计划 → 修改构件 → 更新构件间交互关系 → 组装测试 → 评审。


十五、其他速记

知识点速记
ESBSOA 核心基础设施,实现位置透明性和通信协议解耦
DDD 领域层承载业务规则和状态,纯业务逻辑,不含技术实现细节
SOAP 信封编码信封和 XML 编码定义在不同命名空间
基于度量的评估最终推导的是质量属性
可修改性 vs 可扩展性可修改性=适应新需求/变化;可扩展性=容量增长