--软件构架实践第五章.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
--软件构架实践第五章

第五章 5.1 ★战术(Tactics) 战术就是影响质量属性响应控制的设计决策。我们把战术的集合称为构架策略。 战术就是设计师多年以来一直在使用的那些方法,我们将分别对其进行描述,不是要发明新战术,只是不活设计师在实践中所使用的战术。 系统设计就是由决策集合组成,一些可以帮助控制质量属性响应,一些可以确保系统功能的实现。 战术可以求精从而产生其他战术。 模式可以把战术打包。 每个系统质量属性的战术组织为层次形式,每个层次只是为了说明一些战士,而且任何战术列表都肯定是不完整的。 战术旨在控制对刺激的响应。 5.2 1.可用性战术 适用于可用性的战术既是,将会阻止错误发展成故障,至少能把错误的影响限制在一定范围内,从而使修复成为可能。首先考虑错误检测,之后是错误恢复,最后是错误预防。 错误检测 命令/响应(Ping / Echo):一个组件发出一个命令,并希望在预定时间内收到一个来至审查组件的响应。 心跳(Heartbeat)(dead man 计时器):一个组件定期发出一个心跳,另一个组件收听该信息。 异常(Exception):识别错误的一个方法就是遇到了异常。 命令/响应和心跳战术是在不同的进程中操作,异常战术是在同一个进程中操作,异常处理程序通常将错误在语义上转换为可以被处理的形式。 错误恢复 错误恢复包括,准备恢复和修复系统两个部分。 准备恢复的战术。 表决(voting):运行在冗余处理器上的每个进程都具有相等的输入,他们计算发送给表决者的一个简单的输出值,如果表决者检测到单处理器的异常行为,那么就终止这一行为。 表决算法:可以使多数规则,或首选组件或其他算法。该方法用于纠正算法的错误操作或处理器故障,通常用在控制系统中。 主动冗余(热重启)Active redundancy (hot restart).:所用的冗余组件都以并行的方式对事件作出响应,因此他们都出在相同的状态,仅使用一个组件的响应(通常为第一个),对其其余的响应。错误发生时,使用该战术的系统停机时间通常是几毫秒,因为备份时最新的,所以恢复时间就是切换时间。常用语客户机和服务器配置中。 被动冗余(暖重启/双冗余/三冗余)Passive redundancy (warm restart/dual redundancy/triple redundancy):一个组件(主要的)对事件做出响应,并通知其他组件(备用的)必须进行的状态更新。但错误发生时,再继续提供服务前,系统必须首先确保备用状态是最新的。该方法用于控制系统中,通常情况是在输入信息通过信息通道或传感器来到时,如果出现故障必须从主组件切换到备用组件的时候。同步时主组件的责任。 备件(Spare):备用件是计算机平台配置用于更换各种不同的故障构件。出现故障时,必须将其重启为适当的软件配置,并对其进行初始化。通常用作备用客户及工作站,出现错误时用户可以离开,停机时间通常是几分钟。 修复的战术 有一些依赖于重新引入的修复战术。当冗余组件失败时,可以再纠正该组件后再将其再次引入。 Shadow操作:以前出现故障的组件可以再短时间内以“shadow模式”运行,在确保恢复组件之前,模仿工作组件的行为。 状态再同步(State resynchronization):主动冗余和被动冗余战术要求所恢复的组件在重新提供服务前更新其状态。更新的方法取决于可以承受的提及时间、更新的规模以及更新所要求的信息数量,最好是以一条消息更新其状态。 检查点/回滚(Checkpoint/rollback):检查点就是记录所创建的一致状态,或是定期进行,或者对具体时间做出响应,有时系统会以一种不同寻常的方式出现故障,可检测到其状态不一致,应该使用上一个一致的状态检查点和拍了快照的事务日志来恢复系统。 错误预防 从服务中删除(removal from service):从操作中删除了系统的一个组件,以执行某些活动来防止预期发生的故障。 事务(Transactions):绑定几个有序的步骤以能够立刻撤销整个绑定,如果进程中的一个步骤失败的话,可以使用事务来防止任何数据受到影响,还可以使用事务来防止访问相同数据的几个同时线程之间的冲突。 进程监视器(process monitor):一旦检测到进程中存在错误,监测进程就可以删除非执行进程,并为他创建一个新的实例,初始化为某个适当的状态。 2.可修改性战术 目的在于控制实现和测试,以及部署的时间和成本。 局部化修改 此组战术的目标是减少由某个变更直接影响的模块的数量。在设计期间为模块分配责任,以把预期的变更限制在一定的范围内。 维持语义的一致性(Maintain semantic coherence):语义的一致性指的是模块中责任之间的关系。

文档评论(0)

wh90404 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档