S-24
架构评估工具
ArchitectureEvaluator
基于质量属性的架构权衡分析方法 (ATAM),评估架构在性能、可用性、安全性、可修改性等方面的表现。对应《软件架构实践》。
架构评估工具 (ATAM)
基于质量属性的架构权衡分析方法,评估架构设计的优劣
质量属性
80分
性能 - 场景分析
系统在指定时间内的响应能力
高优先级
刺激:
1000 个并发用户请求
环境:
正常负载
响应:
系统返回搜索结果
度量:
响应时间 < 2秒
中优先级
刺激:
峰值流量(3倍正常负载)
环境:
促销期间
响应:
系统保持可用
度量:
响应时间 < 5秒
风险点
高影响性能: 单点数据库可能成为瓶颈
中影响可用性: 缓存失效可能导致数据库过载
中影响可修改性: 模块间耦合度高,修改影响范围大
ATAM 评估流程
1. 描述架构
理解系统架构和设计决策
2. 识别场景
确定质量属性场景和优先级
3. 分析架构
评估架构对场景的支持程度
4. 识别风险
找出敏感点、权衡点和风险点
关联教材
以下教材与本沙盒涉及的抽象层级相关,建议系统学习:
关联教材章节
以下教材章节与本沙盒涉及的抽象层级相关,建议配合阅读:
第11章深入理解计算机系统
网络编程
实现古人天涯若比邻的梦想
SocketTCP/IPHTTP客户端-服务器模型
第1章数据密集型应用系统设计
可靠、可扩展、可维护
系统设计的三大目标
可靠性可扩展性可维护性
第2章数据密集型应用系统设计
数据模型与查询语言
关系型 vs 文档型 vs 图数据库
SQLNoSQL数据模型
第3章数据密集型应用系统设计
存储与检索
数据库内部如何工作
B-TreeLSM-TreeSSTable索引
第5章数据密集型应用系统设计
复制
让数据多一份保障
主从复制多主复制无主复制复制延迟
第6章数据密集型应用系统设计
分区
把大数据拆小
哈希分区范围分区二次分区再平衡
第7章数据密集型应用系统设计
事务
数据库的原子操作
ACID隔离级别快照隔离
第8章数据密集型应用系统设计
分布式系统的麻烦
网络不可靠
故障检测时钟因果序拜占庭故障
第9章数据密集型应用系统设计
一致性与共识
让多个节点达成一致
线性一致性全序广播PaxosRaft
第10章数据密集型应用系统设计
批处理
MapReduce 与离线计算
MapReduceSpark数据流
第11章数据密集型应用系统设计
流处理
实时数据的力量
事件流Kafka时间语义Exactly-once
第12章数据密集型应用系统设计
系统的未来
数据系统往何处去
Lambda架构状态机复制伦理
学习路径推荐
建议按以下顺序学习,循序渐进掌握计算机科学:
使用说明
- •调整参数观察行为变化,实时反馈
- •状态自动编码到 URL,可直接分享给他人
- •支持键盘操作(Tab 切换、方向键调整)