系统可用性「建议收藏」

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

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

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

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

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

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

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

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

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


相关推荐

  • 霍尔传感器测速代码_arduino直流电机调速

    霍尔传感器测速代码_arduino直流电机调速标题本人目前是一个大一菜鸟,零基础学的编码器方面,希望我的经验对你有些帮助。分享一下霍尔编码器电机的使用与测速,我用的是25GA-310直流减速电机带霍尔传感器。先来看一下最基本的接线方法————-S1与S2连接单片机上的S(我这里用的2号和3号,是中断引脚);——G与V连接单片机上的G与V(对着接就行);——VM与GM接航模电池的正极与负极;测速…

    2022年10月1日
    1
  • vue 使用echarts 自适应

    vue 使用echarts 自适应vue 使用 echart 自适应

    2025年8月31日
    0
  • python3整数反转

    python3整数反转

    2021年4月18日
    185
  • office2016、office365和office其它版本JH[通俗易懂]

    office2016、office365和office其它版本JH[通俗易懂]Win10系统中会预安装Office,但是没有给JH,网上给了各种解决方案,如JH码、KMS等方式JH。但是效果差强人意。但是网上有一些大牛写的方法倒是立竿见影,下面分享给大家:CSDN现在被网安查的我都不敢修改了,自己原创被搞得涉及版权问题,文章中还不能有pojie和jihuoOJBK我将在JH中间遇到的问题,都罗列在这篇文章里了,也很感谢提出问题的C友们,此处我特别强调一下…

    2022年7月19日
    26
  • java中clone的用法_java clone是浅拷贝吗

    java中clone的用法_java clone是浅拷贝吗一.Cloneable的用途Cloneable和Serializable一样都是标记型接口,它们内部都没有方法和属性,implementsCloneable表示该对象能被克隆,能使用Object.clone()方法。如果没有implementsCloneable的类调用Object.clone()方法就会抛出CloneNotSupportedException。二.克隆的分类(1)浅克隆(s

    2022年10月14日
    4
  • python自动连接wifi_python自动点击网页

    python自动连接wifi_python自动点击网页自动连接wifi,自动登录校园网,打包exe文件。

    2025年8月19日
    2

发表回复

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

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