软件系统架构实践应对质量属性

上传人:ji****72 文档编号:48601058 上传时间:2018-07-17 格式:PPT 页数:96 大小:2.04MB
返回 下载 相关 举报
软件系统架构实践应对质量属性_第1页
第1页 / 共96页
软件系统架构实践应对质量属性_第2页
第2页 / 共96页
软件系统架构实践应对质量属性_第3页
第3页 / 共96页
软件系统架构实践应对质量属性_第4页
第4页 / 共96页
软件系统架构实践应对质量属性_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《软件系统架构实践应对质量属性》由会员分享,可在线阅读,更多相关《软件系统架构实践应对质量属性(96页珍藏版)》请在金锄头文库上搜索。

1、ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印软件系统架构实践软件系统架构实践中国信息化培训中心 2013年 6月ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印课 程 目 录ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印四、系统架构之六大战术(一)影响软件架构的因素(二)理解质量属性(三)质量属性战术应对(三)质量属性战术应对ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印(三)质量属性战术应对1 1、可用性战术、可用性战术2、可修改性战术3、性能战术4、安全性战术5、

2、可测试性战术6、易用性战术ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印战术介绍质量需求指定了软件的响应,以实现业务目标战术(tactics)影响质量属性响应的设计决策构架策略(architectural strategy)战术的集合构架模式(architectural pattern)以某种方式将战术打包在一起ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印质量属性战术是什么使一个设计具有了可移植性?一个设计有了高性 能,而另一个设计具备了可集成性?实现这些质量属性依赖于基本的设计决策战术战术就是影响质量属性响应控制的设计决策可用

3、性战术可修改性战术性能战术安全性战术可测试性战术易用性战术战术的集合称为“构架设计策略”ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印可用性战术目标可用性战术将会阻止错误发展为故障,或者至少 能够把错误的影响限制在一定范围内,从而使系 统恢复成为可能控制可用 性的战术错误所屏蔽的错误 或所作的修改可用性战术的目标ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印可用性战术分类维持可用性的方法包括:1.错误检测用来检测故障的某种类型的健康监 视2.自动恢复检测到故障时某种类型的恢复3.错误预防阻止错误演变为故障ZPEDU.ORGZPED

4、U.ORG讲义版权由中培教育所有,未经同意,不得转印可用性战术分类可用性战术总结可用性错 误所屏 蔽的 错误 或所 作的 修改错误 检测恢复:监测和 修复预防信号/响应心跳异常表决主动冗余被动冗余备件Shadow状态再 同步回滚从服务中 删除事物进程监视 器恢复:重新引入ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误检测错误检测包括以下3个战术1.信号/响应(ping/echo):一个组件发出一 个信号,并希望在预定义的时间内收到一个 来自审查组件的响应,该战术可以用在共同 负责某项任务的一组组件内这种战术采用组件主动询问方式,就好像我 们在课堂上点名一样,

5、必须要求学生回答ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误检测2.心跳(heartbeat):一个组件定期发出一个 心跳信息,另一个组件收听该信息。心跳还可 用于传递数据这种方式监视组件采用被动方式,就好像领导 听取员工汇报工作这两种战术在不同的进程中进行操作ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误检测3.异常(exceptions):异常处理程序通常将错 误在语义上转换为可以被处理的形式,异常通 常与引入异常的程序在同一个进程中 比如:if( x=0 )throwException() ZPEDU.ORGZPE

6、DU.ORG讲义版权由中培教育所有,未经同意,不得转印错误恢复表决有6种错误恢复的战术1.表决(voting):运行在冗余处理器上的每个 进程都具有相等的输入,它们计算的值都发给 表决者,表决者发现异常则终止进程表决算法包括“多数规则”、“首选组件”等该方法用于纠正算法的错误操作或处理器的故 障,通常用在控制系统中ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印表决表决冗余处理器表决者 组件冗余组件冗余组件冗余组件输入值输出值用一定的表决算法进 行表决;多数规则或 首选组件如果检测到单处理器的异常行为,则终止它或重起它。ZPEDU.ORGZPEDU.ORG讲义版权

7、由中培教育所有,未经同意,不得转印错误恢复主动冗余2.主动冗余(Active redundancy ):所有的冗 余组件都以并行的方式对事件做出响应,它们 的状态都相同,但每次只使用一个组件的响应 而丢弃其余组件的响应主动冗余通常用在客户机/服务器的配置中,在 这种配置中,即使发生错误,也可在极短的时 间,通常为几毫秒内恢复,比如门户网站采取 的策略ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印主动冗余(热重启)主动冗余(热重启) 同时响应使用第一个组件的响应处在相同的状 态切换ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误恢

8、复被动冗余3. 被动冗余(passive redundancy ):主组件对 事件做出响应,并通知其它备用组件必须进行的 状态更新。这样,主/从组件的状态是一致的被动冗余通常用在控制系统中,恢复时间一般在 几秒内在被动冗余中,主组件负责状态同步ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印被动冗余(暖重启)被动冗余(暖重启)备份Old dataNew dataZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误恢复备件4.备件(spare):备件是计算平台配置用于更换 各种不同的故障组件。出现故障时,必须将其 重新启动为适当的软件配

9、置,并对其状态进行 初始化备件通常用在备用客户机工作站,恢复时间一 般在几分钟内ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误恢复重新引入5.Shadow操作:出现故障的组件可以以 “Shadow模式”运行,这样可以在系统恢复前 模仿工作组件的行为6.状态再同步(State resynchronization):主 动和被动冗余战术要求所恢复的组件在重新提 供服务前更新其状态ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误恢复重新引入7.检查点/回滚(Checkpoint/rollback):检查 点就是记录所创建的一致状态

10、,遇到故障,可 以使用上次正确的检查点状态比如,Windows操作系统的以上一次正常运行 的配置启动ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印高高可用性解决方案可用性解决方案现状及问题随着计算机在社会各个领域的广泛使用,人们已 习惯于计算机系统带来的便捷和高效率,但计算 机系统也非常脆弱,它会受各种因素的影响,如 硬件系统本身的故障,电源故障,病毒,自然 灾 害或人为的恶意破坏,都会导致系统无法正常运 行。现有很多系统均是单主机工作环境,任何一 个单点故障,都会影响企业业务的正常运转,而 且产生很多不良后果。ZPEDU.ORGZPEDU.ORG讲义版权由中培

11、教育所有,未经同意,不得转印我们认为,解决该问题的关键,就是采用高可用 性的群集解决方案。在一个承担关键业务的计算 中心,采用多台主机共享一套存储设备存储业务 数据,主机之间通过物理连接形成一定的相互联 系,与相应的群集软件配合,可以实现如下功能 :当整套系统中出现任何一个单点故障,都有相应 的冗余部件代替发挥相应的功能,从而保证业务 的正常进行,在此过程中的物理设备和应用软件 的切换都不会被前端用户所察觉。ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印解决方案解决方案 ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印ZPEDU.O

12、RGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印虚拟服务器虚拟服务器ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误预防1.从服务中删除(removal from service): 该战术从操作中删除了系统的一个组件,以 执行某些活动来防止预期发生的故障,比如 重新启动备用组件阻止当前组件的内存泄漏ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印错误预防2.事务(transactions):事务是指绑定几个有序 的步骤,以能够立刻撤销这

13、个绑定,可以使用 事务来防止任何数据受到影响3.进程监视器(process monitor):监视进程中 存在的错误,如果发现错误,则删除该执行进 程,并为该进程创建一个新的实例ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印“系统可用性”质量目标与保障手段30检测手段F5心跳检测、错误日志记录、业务最大并发数控制、后台模块可用性控制在线保障双通道工作模式,主备通道可同时运行,对外提供不停断持续服务;应用服务器多节点集群,提供负载均衡和故障转移;场景描述提供系统对外服务不中断情况下进行系统维护的策略;应用服务器单节点重启控制在35分钟之内;最大业务并发预警与控制,

14、单节点最大并发数在应用级动态可控制;决策1. 主动禁用有故障模块相关业务功能;2. 单节点并发数控制调整,保障系统运行;3. 利用系统监控日志定期分析系统瓶颈,持续优化架构质量。ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印(三)质量属性战术应对1、可用性战术2 2、可修改性战术、可修改性战术3、性能战术4、安全性战术5、可测试性战术6、易用性战术ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印可修改性战术可修改性战术的目标是控制实现、测试和部署变 更的时间和成本控制可修改 性的战术变更到达在时间和预算 内完成、测试 和部署的变更可

15、修改性战术的目标ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印可修改性战术分类可修改性战术可以分为3类:1.局部化修改目标是减少由某个变更直接影 响的模块的数量2.防止连锁反应目标是限制对局部化的模块 的修改,以防止对某个模块的修改间接地影响 到其他模块3.延迟绑定时间目标是控制部署时间并允许 非开发人员进行修改ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印可修改性战术分类可修改性战术总结可修改性变更 到达在时间和预 算内实现、 测试和部署 的变更局部化变更防止连锁反应语义一致性预期期望的变更泛化模块限制可能的选择抽象通用服务隐藏

16、信息维持现有的 接口限制通信路 径使用仲裁者运行时注册配置文件多态组件更换遵守已定义的 协议推迟绑定时间ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印局部化修改(localize modifications )该组战术的目标是在设计时为模块分配责任, 以把预期的变更限制在一定的范围内1.预期期望的变更(expected changes ):根 据语义一致性原则,预测期望变更的战术并不 关心模块责任的一致性,而是关心将变更的影 响最小化ZPEDU.ORGZPEDU.ORG讲义版权由中培教育所有,未经同意,不得转印局部化修改(localize modifications )2.维持语义一致性(semantic coherence ): 语义一致性是模块中责任之间的关系,目标是 确保所有这些责任都能够协同工作,不需要过 多地依赖其它模块,即这组模块的内聚

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号