Skip to content

Latest commit

 

History

History
46 lines (31 loc) · 1.55 KB

20181122软件架构设计.md

File metadata and controls

46 lines (31 loc) · 1.55 KB

20181122软件架构设计

才振功

caizhengong@zju.edu.cn

15867288513

从需求到具体实现之间的过程 围绕非功能性需求 并不是所有非功能需求都能用架构设计来解决

课程设置: 1 软件架构介绍 2 质量属性 3 质量驱动的架构设计 4 架构风格与模式 5 分布式架构 6 服务端架构 7 架构评估与重构 8 复习与报告

经典书籍:面向模式的软件体系结构 卷1 2 3(Mary Shaw & David Garlan)

建筑的例子:狗舍与别墅与摩天大楼(简单 -> 复杂 -> 超复杂)

大型网站的特点:高并发大流量 高可用 用户分布广泛 需求快速变更 发布频繁 海量数据 安全环境恶劣 渐进式发展

大型网站架构演化 那张图 分而治之+关注点分离(如计算性能 存储性能 实时性能)

分布式服务:只存在业务和服务的概念 而没有业务系统的概念

大型网站架构模式: 分层 分割 分布式 集群 缓存 异步 冗余 自动化 安全

应用服务器性能优化 分布式缓存(首先考虑使用缓存优化性能) 异步操作(任何可以晚点再做的事情都晚点做) 使用集群 代码优化 存储性能优化

万无一失:高可用架构 分级管理 超时设置 异步调用 服务降级(大规模集群常见做法) 幂等性设计(保证重复调用效果与一次调用一致)

万无一失:高频繁发布 代码控制 自动化发布

永无止境:伸缩式架构 随需应变:可扩展架构 利用分布式消息队列降低系统耦合性 固若金汤:安全架构