首页 > 其他分享 >质量属性--可用性

质量属性--可用性

时间:2023-03-02 20:15:16浏览次数:38  
标签:战术 错误 -- 可用性 修复 组件 冗余 属性

本篇阅读笔记的主要内容是:

1.可用性的要求

2.可用性的实际需求,在不同阶段的不同战术

3.可用性战术的实际案例,我能想到的

 

可用性是系统能够正常运行的时间比例,由此得出可用性的计算公式是

可用性=平均工作时间/(平均正常工作时间+平均修复时间)

在书中提出了错误和故障的的观点,也就是错误如果在未被观察的情况下被修复那么可以不成做故障,由此我想到了,可用性的标准就是,尽可能的降低修复bug所使用的时间,所谓的可用性的战术应该有部分是使用在这个部分。

往后看书,确实如此,书中提出的可用性的实际需求,我觉得最重要的一点是,将错误的影响局限在一定的范围内,至少能够把错误的影响限制在一定的范围内,从而使修复成为可能。

可用性的战术一般分为三个阶段,即错误的检测,错误的修复,和错误的预防

在错误的检测方面可用性的战术有三点:

1.命令/响应,这个指的是一方发出消息,另一方接受以后回复收到信息,类似于信息交换的三次握手协议,看到这个我最先想到的是http的三次握手传递信息,而所谓的层级结构在搭建pt模拟器的网络的时候也会用到向同级的设备发送信息确保搭建成功,给我的感觉使用的也是这个原理

2.心跳 心跳,我感觉,证明一下组件还在正常运行并且传递一些信息,类似于定期开会???

3.异常,这个在代码中还是很常见的,使用try catch捕捉异常,并且使用finally处理常见的异常。

命令/响应和心跳指的是组件和组件之间的交互,而异常一般是单个组件内部的异常措施。

接下来是在错误的恢复方面的战术,这里我到目前还全部理解,就将我理解的几点用自己的语言表述出来:

1.表决,在多台处理机的情况下使用,为了确保是否有程序或者处理机出现错误,当有某台处理机的输出结果不正确的时候,就可以据此推断是否有某台机器或者算法出现了问题,一般的表决采用的算法是“多数规则”或者“首选组件”的算法,即是说采用某台处理机优先或者少数服从多数的原则。对应的战术实例...暂时还没想到有什么实例是我曾经用到的。

2.主动冗余(热重启),多程序并发进行,切换时间很少, 发送者和接收者为了确保进程的同步,要采用可靠的信息传输协议。当发生错误的时候可以抛弃错误组件的信息,所消耗的时间紧紧是切换组件的内容的时间,适合用于需要及时响应的系统中,例如在课本中提出的数据库管理系统(没搜...没懂)

3.被动冗余(暖重启/双冗余/三冗余),组件分为主要和备用组件,周期性的切换组件可以提高整体系统的可用性,被动切换组件的主要和备用关系,可以是由备用组件决定,也可以是由其余的组件决定。

4.备件 ,备用件是由计算平台配置的用于更换不同故障的组件。有点类似于,电池?出现故障的适合可以及时的进行更换,然后对其进行更换之后就可以正常运行。

书中在这个部分将战术进行了分隔,接下来的战术主要是组件重新引入,那么上述的算什么,大概,是冗余组件的组合和切换?

组件的重新引入书中介绍了三个战术:1.shadow操作,为了保证恢复该组件之前,模仿工作组件的行为。2.状态再同步,组件状态的及时更新,为了适应系统所以出现的,应尽可能简短的描述信息,确保组件的状态更新 3.检查点/回滚,方便系统的定期修复和排查错误,回到一致状态。

 

标签:战术,错误,--,可用性,修复,组件,冗余,属性
From: https://www.cnblogs.com/diandianzai/p/17173230.html

相关文章

  • 解决码云Gitee上传文件大小受限的问题
     {https://blog.csdn.net/qq_20042935/article/details/119762405}第一种是清空仓库,这种操作很危险,直接就会把仓库完全清空了,如果不需要看提交记录这些之类的,可以选......
  • Servlet-thymeleaf入门与渲染index页面
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾由于是多个视频内容混合在一起,因此只放了第一个链接视频链接知识点Thymel......
  • 用GoRoutines高性能同时进行多个Api调用
    用GoRoutines高性能同时进行多个Api调用转载请注明来源:https://janrs.com/2023/03/用goroutines同时进行多个api调用/Golang是高效的,非常高效。这种效率在很大程度上要......
  • 大型网站技术架构02 网站的高性能架构、网站的可用性架构
    大型网站核心架构要素1.性能2.可用性3.伸缩性4.扩展性5.安全性 瞬时响应:网站的高性能架构1.网站性能测试:  1).不同视角下的网站性能     a......
  • 软件质量之可修改性
    软件的可修改性:软件质量属性中的可修改性是指容易修改的能力,其包括修正,改进和用户需求的变化。今天阅读了《大型网站技术架构:核心原理与案例分析》,里面没有明确的......
  • HBase存储空间撑爆导致拒绝服务的问题解决思路与操作方法记录
    时间:2022年3月29日;问题:tmss数据源切换完成后,源表数据将HBase集群内节点的存储空间撑爆,导致HBase集群内节点拒绝服务;修复:查询HDFS占用空间情况:hdfsdfs-df-h;确认是否......
  • 软件体系架构方面英文文章翻译----Android中MVC、MVP和MVVM架构模式的区别
    DifferenceBetweenMVC,MVPandMVVMArchitecturePatterninAndroid22Dec,2022Developinganandroidapplicationbyapplyingasoftwarearchitecturepattern......
  • nvalid bound statement (not found): com.ruoyi.xxx.mapper.xxx
    出现这个问题是由于resource目录下的mapper命名空间和java目录下的mapper不对应,踩坑点是在Java目录创建多层目录时都是用点号.分隔目录,所以在resource目录创建多层目录也用......
  • Burnside 引理及其扩展
    之前学Burnside一直没能深入本质,这回与可爱的QYB学弟讨论了一下Burnside引理的证明,做一个记录。前置知识:群的定义。一、等价染色方案计数问题对于一种染色方案组......
  • [Primer] 第 7 章
    第7章函数——C++的编程模块7.1复习函数的基本知识C++函数不能直接返回数组,但是可以把数组当成对象的组成部分返回。函数将返回值复制到指定的CPU寄存器或内存......