版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实现质量属性 (1)实现质量属性n上节课讨论了各种系统质量属性,却没有谈及如何实现这些质量属性n质量属性的实现依赖于我们称之为“战术”的基本构架决策q给定一个质量属性,“战术”帮助构架师使用相应的构架策略或模式来进行设计,达成响应的质量属性质量属性需求构架决策战术n什么使得不同的设计表现出不同的质量特性q可移植性q高性能q可集成性n“战术”是影响质量属性响应控制的设计决策n战术的集合n系统设计有决策集合组成q有些决策确保系统功能的实现q有些决策帮助控制质量属性“战术”n“战术”是构架师所使用的设计方法战术示例n一个典型的战术示例是通过“引入冗余”来提高系统可用性q这往往意味着系统中要有响应的同
2、步机制n该示例揭示q战术可以进一步的被精练n比如:冗余战术可以被进一步的被精练为数据冗余和计算冗余,通常我们以层次结构的形式组织战术q模式是战术的打包可用性战术n可用性的回顾q定义q故障 VS. 错误q = 平均正常工作时间 / (平均正常工作时间+ 平均修复时间)n可用性战术q将阻止错误发展成故障q或将错误影响限制在一定范围内,从而使修复成为可能n保持可用性的方法通常包括:q一些冗余q一些检测故障的监控机制q一些恢复机制控制可用控制可用性的战术性的战术错误错误错误被屏蔽错误被屏蔽或系统被修复或系统被修复错误检测战术n命令/响应(Ping/echo)q层次形式组织的“命令/响应”错误检测机制n
3、心跳 (“死人计时器”)q一个组件定时发出一个心跳消息,另一个组件接听该消息n异常/中断q通过抛出异常来识别错误,异常处理程序通常在同一进程内捕获并处理异常错误恢复战术n错误恢复通常由两部分组成q准备恢复q恢复系统n常用的准备和恢复战术q表决q主动冗余 q被动冗余q备件q重新引入表决战术 (1)n运行在冗余处理器上的每个进程都具有相等的输入,它们计算发给表决器的一个简单的输出值。如果表决器检测到单个处理器的异常行为,那么就中止这一行为n常用的表决算法q多数规则q首选组件表决战术 (2)n表决战术可以用于纠正算法的错误或处理器的错误,或者某个模块或组件的错误n如果出现故障会带来严重的后果,则冗余
4、组件可能是多样的q每个冗余组件的软件由不同小组开发q在不同的平台上执行.主动冗余(热启动)战术n所有冗余组件在启动的时候同步,以并行的方式对时间作出响应,因而它们都处在相同的状态。通常,作出响应的第一个组件的结果被采用,其他响应被丢弃q组件间的同步是通过将传递给任何冗余组件的消息发送给所有冗余组件n发生错误时,使用该战术的系统的停机时间通常是几毫秒q恢复时间就是组件间的切换时间,因为冗余组件间状态一致,备份都是最新的q在高可用性的分布式系统中,冗余可能在通信路径上被动冗余战术n一个组件(主组件)对事件作出响应,并通知其他组件(备用组件)它们必须进行的状态更新q同步是主组件的责任,它可以通过对备
5、用组件的原子广播来保证同步n当系统发生错误时q首先要确保备用组件的状态时最新的q该战术依赖与备用组件对工作进行可靠接管备件战术n在备件战术中,配置有相应的备件平台来取代各种出故障的组件n当故障出现时,备件必须启动并进行相应的配置,对状态进行初始化,才能替代出故障的组件n进行同步并对故障的组件进行接管时,往往使用检查点(checkpoint)日志(logging)的技术重新引入战术n该战术依赖于对发生故障的组件进行纠正后的重新引入qshadow操作:以前出现故障的组件在短时间内以“shadow模式”(类似于测试模式)运行,以确保它能够胜任工作组件的要求q状态再同步:重新引入后,最好能用一条消息就
6、将状态刷到最新q检查点/回滚:使用类似于数据库中的恢复机制的技术错误预防战术n从服务中删除q从操作中删除系统的一个组件,以执行某些活动来防止预期发生的故障。例如:重新启动组件,以防内存泄漏导致故障发生n事务处理q几个有序步骤的绑定,是的这些步骤都能被完成或撤销,保证一致性,防止冲突n进程监视器q检测到进程中的错误后,将之删除并重新创建一实例并初始化状态可用行战术层次结构命令命令/响应响应心跳心跳异常异常表决表决主动冗余主动冗余被动冗余被动冗余备件备件从服务中删除从服务中删除事务事务进程监视器进程监视器Shadow状态再同步状态再同步检查点检查点/回滚回滚故障故障故障被故障被屏蔽或屏蔽或修复修复
7、可修改性战术n目标:控制实施、测试和部署修改的时间和成本n提高可修改性的主要方法q局部化修改局部化修改q防止连锁反应防止连锁反应 q延迟绑定时间延迟绑定时间控制可修改控制可修改性的战术性的战术变更到达变更到达在预算范围内在预算范围内实施修改实施修改测试修改测试修改部署修改部署修改局部化修改 (1)n一般来说(尽管不是非常精确),修改的模块越少,修改的成本就越低n这组战术的目标是在设计期间为模块分配责任,以把预期的变更限定在一定范围内q维持语义的一致性n语义一致性指模块中责任间的关系。目标是确保这些责任能够协同工作,不需过多依赖其他模块n“抽象通用服务”q预期期望的变更n考虑预想的变更为责任或功
8、能的分配提供指导q实际使用中,该战术实施会有困难,因为很难预期所有变更局部化修改 (2)n泛化模块q泛化模块(使一个模块更加通用)可以使它根据根据输入计算更广泛的功能q可以将一个模块的输入看成是该模块定义的一种语言n可以在语言上应对修改,而不必去修改模块n限制可能的选择q修改(尤其在产品线中)的范围可能非常大,因此可能会影响很多模块q限制可能的选择可以见地这些修改造成的影响连锁反应 & 模块依赖性n修改所产生的连锁反应就是需要改变该修改并没有直接影响到的模块q比如:模块B依赖于模块A,那么修改了模块A后,有可能相应的必须修改模块Bn连锁反应的原因是模块间的依赖性,常见的依赖性包括q语法n数据:
9、要使B能正确编译和执行,由A产生并由B使用的数据语义必须与B的假定一致n服务:要使B能正确编译和执行,由A提供并由B调用的服务的签名必须与B的假定一致q语义n数据&服务:要使B能正确执行,由A提供并由B使用的数据或调用的服务必须与B的假定一致模块依赖性 (2)q顺序n数据:要使B能正确执行,它必须以一个固定的顺序接收由A产生的数据(比如:包头要比包体先接收)n控制:要使B能正确执行,A必须在一定的时间限制内执行qA的一个接口身份nA的接口身份(名称或句柄)要与B的假设一致qA的运行时位置n要使B能正确执行,A的运行时位置必须与B的假定一致qA提供的服务/数据的质量qA的存在qA的资源行为防止连
10、锁反应 (1)n下面的战术,并不能一定组织语义变更造成的连锁反应n信息隐藏q将某个模块的责任分解成更小的部分,并选择哪些部分为公有(可见),哪些为私有(隐藏)n维持现有的接口q如果B依赖于A的一个接口名或签名,则维持该接口和其语法可以使B保持不变通常可以用以下战术来达到这点n添加接口n添加适配器(提供原始A的签名)n提供一个占位程序A(stub)n限制通讯路径q与一个被修改的模块交互的模块越少,被影响到的模块也越少防止连锁反应 (2)n使用中间件:A 中间件 B (非语义型依赖)q数据(语法):存储库充当数据的生成者和使用者之间的中间件q服务:faade、桥、mediator、代理、工厂模式等
11、都能将服务的语法从一种形式转为另一种形式qA的接口身份:使用Broker模式qA的运行时位置:使用名称服务器qA的资源行为或A控制的资源:使用资源管理器qA的存在:使用工厂模式延迟绑定时间n前面两类战术的目标是使实现修改所要求改变的模块数量最少,但是可修改性同时也该包括:q部署时间q允许非开发人员进行修改n推迟绑定时间支持这两种场景,但是需要额外的基础结构支持q静态绑定 VS. 动态绑定延迟绑定时间策略n运行时注册q支持软件实体的即插即用,但是需要管理注册的模块n配置文件q在启动时进行参数设置n多态性q允许方法调用的后期绑定,从而使对象有不同的动态行为n遵守已定义的协议q允许独立进程运行时绑定可修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 娱乐行业导演岗位的招聘全解析与要点总结
- 酒店式地标建设与管理面试问题剖析
- 三年(2023-2025)内蒙古中考语文真题分类汇编:专题03 名句默写(解析版)
- 法规事务部经理的决策能力提升培训方案
- 华为集团客户服务体系优化方案
- 2026年健康生活方式推广策略考试及答案
- 说新闻谈观点演讲稿
- 商场物业人员绩效考核制度
- 2025年AI艺术生成技术的自动化内容生成与编辑
- 关于客观能动性演讲稿
- 教职工安全专题培训材料
- 2026年内蒙古商贸职业学院单招职业技能考试题库带答案详解(完整版)
- 2026年青岛职业技术学院单招职业技能考试备考试题含详细答案解析
- 2026中考冲刺动员大会校长发言稿:不负春光我们陪你决胜中考
- 医院放射应急管理培训
- 2025年浙江机电职业技术学院单招综合素质考试题库附答案解析
- 可持续采购培训课件
- 2026年宠物行业白皮书
- 2026年及未来5年中国半导体键合设备行业市场全景监测及投资战略咨询报告
- 小产权房放弃合同范本
- 2026年江西信息应用职业技术学院单招职业技能考试题库附答案详解
评论
0/150
提交评论