系统可用性「建议收藏」

系统可用性「建议收藏」一个网站、系统的战术包括可用性战术、可修改性战术、性能战术、安全性战术、可测试性战术、易用性战术。质量需求指定了软件的响应,以实现业务目标,战术是影响质量属性响应的设计决策,构架策略是战术的集合,构架

大家好,又见面了,我是你们的朋友全栈君。

       一个网站、系统的战术包括可用性战术、可修改性战术、性能战术、安全性战术、可测试性战术、易用性战术。质量需求指定了软件的响应,以实现业务目标,战术是影响质量属性响应的设计决策,构架策略是战术的集合,构架模式是以某种方式将战术打包在一起。可用性是在某个考察时间,系统能够正常运行的概率或时间占有率期望值。它是衡量设备在投入使用后实际使用的效能,是设备或系统的可靠性、可维护性和维护支持性的综合特性。采用可用性战术将会阻止错误发展为故障,或者至少能够把错误的影响限制在一定范围内,从而使系统恢复成为可能。对于一个软件和系统,出现故障、不可用的现象是非常重大的事故,那么如何衡量系统的可用性和提高系统系统的可用性呢?

      例如一个网站,总会出现一些故障的时间,除去这些故障的时间,就是这个网站真正的可用时间,用真正的可用时间除网站的一共使用时间,那么就是这个网站的可用性,比例越高那么可用性就越高。可用性的刺激源一般是发生在系统的内部或外部,刺激是错误,疏忽,崩溃,时间,相应等,出现这些刺激的时候,系统处理器、通信通道、持久性存储器、进程等会出现错误,而系统的可用性表现在系统可用检测到事件,并且记录故障、通知用户和系统,根据之前定义好的规则来禁止故障。响应的度量为系统在出现故障时恢复的时间以及系统可以在降级模式下运行的时间间隔。以淘宝网为例:淘宝网的刺激源主要是用户,刺激为当很多用户在正常操作的情况下,在一个时间(比如双十一)进行操作而造成访问员过大时,造成系统崩溃,当系统出现问题时,系统会检测到状况,记录下来并且通知用户,并且可以保证在一定时间内排除故障、刷新页面,保证用户的使用。

       系统出现故障的原因是,系统的很可能出现服务器硬件故障,大型的网站会用到很多的服务器硬件,这些硬件并不能保证一直正常运行,一定会出现故障,所以高可用性的架构就是有多个服务器备份,当一个正在用的主服务器出现问题时,其他备份的服务器可以马上代替这个故障的主服务器,保证系统在一定时间内恢复刷新,保持可用。提高系统的可用性首先要系统可用检测到故障,最常见的故障检测方式有心跳检测、自动容灾等,就像人的心跳一样,心跳会保持向大脑传输信息,告诉大脑人体是否正常,是否出现问题,大脑会根据心跳提供的信息来做出一定的反应。在检测时最常出现的故障是数据库交互不成功而产生的异常,高可用的数据,同于高可用的应用和服务,一旦服务器备份,如果数据访问请求不能任意切换到集群中的其他服务器上,会大大的影响系统的可用性,这时不能单纯的使用失效转移机制,而是将数据备份和失效转移机制结合起来。

       提高系统的可用性有三方面:错误检测用来检测故障的某种类型的健康监视;自动恢复用来检测到故障时某种类型的恢复;错误预防用来阻止错误演变为故障。错误检测包括三个战术,第一个是信号或者响应,采用组件主动询问方式,就好像我们在上课时,老师点名回答问题,我们对老师对出响应,老师会判断我们的学习情况。在一个系统或网站中即一个组件发出一个信号,并希望在预定义的时间内收到一个来自审查组件的响应,该战术可以用在共同负责某项任务的一组组件内。第二个就是上文中提到的心跳,这种方式监视组件采用被动方式,就好像我们给老师汇报阶段学习,在系统或网站中即一个组件定期发出一个心跳信息,另一个组件收听该信息。心跳还可用于传递数据。第三个是异常:异常处理程序通常将错误在语义上转换为可以被处理的形式,异常通常与引入异常的程序在同一个进程中。错误恢复就是回滚,回到之前的状态,分为六种战术,第一种是表决,运行在冗余处理器上的每个进程都具有相等的输入,它们计算的值都发给表决者,表决者发现异常则终止进程,该方法用于纠正算法的错误操作或处理器的故障,通常用在控制系统中。第二种是主动冗余:所有的备份的组件都以并行的方式对事件做出响应,它们的状态都相同,但每次只使用一个组件的响应而丢弃其余组件的响应;主动冗余通常用在客户机或服务器的配置中,在这种配置中,即使发生错误,也可在极短的时间,通常为几毫秒内恢复,比如门户网站采取的策略。第三种是被动冗余:主组件对事件做出响应,并通知其它备用组件必须进行的状态更新。第四种是备件:备件是计算平台配置用于更换各种不同的故障组件。出现故障时,必须将其重新启动为适当的软件配置,并对其状态进行初始化。第五种是Shadow操作:出现故障的组件可以以“Shadow模式”运行,这样可以在系统恢复前模仿工作组件的行为。第六种是状态再同步:主动和被动冗余战术要求所恢复的组件在重新提供服务前更新其状态。错误预防就是设置进程监听器,当一个事物出现错误时,从进程中删除事物。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154401.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sublime3激活码【在线注册码/序列号/破解码】

    sublime3激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    36
  • java对文件操作,删除文件,强制删除文件「建议收藏」

    java对文件操作,删除文件,强制删除文件「建议收藏」/** *删除文件夹(强制删除) * *@parampath */ publicstaticvoiddeleteAllFilesOfDir(Filepath){ if(null!=path){ if(!path.exists()) return; if(path.isFile()){ booleanresult=path.dele…

    2022年5月20日
    38
  • 十进制转换为二,八,十六进制_vb进制转换

    十进制转换为二,八,十六进制_vb进制转换进制转换原理进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。位权是指,进位制中每一固定位置对应的单位值。在知乎有个问题下的解答很不错,可以参考:打开链接他们之间的关系如下:接下来我们一一阐述。一:(二,八,十六进制)转十进…

    2022年10月11日
    0
  • 控制台打印图形_前端控制台打印

    控制台打印图形_前端控制台打印问题描述一、在控制台输出以星号打印的三角形思路:在外部使用循环语句执行5次每次打印1行,每行的内容分别为空格和星号,每行空格缩进的数量为5减去所在行数,星号的数量是所在行数的2倍减1。在内部使用循环语句首先打印空格,然后打印星号”*”,对应的打印次数用循环次数控制,打印星号之后就可以换行。publicstaticvoidmain(String[]args){ //打印图形, intn=5;//表示要打印几行 for(inti=1;i<=n;i++){//i表示每行

    2022年10月20日
    1
  • Spring batch教程 之 spring batch简介

    Spring batch教程 之 spring batch简介SpringBatch介绍在企业领域,有很多应用和系统需要在生产环境中使用批处理来执行大量的业务操作.批处理业务需要自动地对海量数据信息进行各种复杂的业务逻辑处理,同时具备极高的效率,不需要人工干预.执行这种操作通常根据时间事件(如月末统计,通知或信件),或者定期处理那些业务规则超级复杂,数据量非常庞大的业务,(如保险赔款确定,利率调整),也可能是从内部/外部系统抓取到的各种数据,通常需要

    2022年5月11日
    45
  • 向量的夹角余弦公式_向量空间模型(VSM)的余弦定理公式(用余弦定理来表示向量之间的相似度)…[通俗易懂]

    向量的夹角余弦公式_向量空间模型(VSM)的余弦定理公式(用余弦定理来表示向量之间的相似度)…[通俗易懂]相信很多学习向量空间模型(VectorSpaceModel)的人都会被其中的余弦定理公式所迷惑..因为一看到余弦定理,肯定会先想起初中时的那条最简单的公式cosA=a/c(邻边比斜边),见下图:但是,初中那条公式是只适用于直角三角形的,而在非直角三角形中,余弦定理的公式是:cosA=(c2+b2-a2)/2bc不过这条公式也和向量空间模型中的余弦定理公式不沾边,迷惑..引用吴军老师的数…

    2025年7月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号