系统可用性「建议收藏」

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

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

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

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

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

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

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

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

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


相关推荐

  • 列车调度 堆栈 python

    列车调度 堆栈 python列车调度描述题目分解1.全排列2.判断合法输出序列3.S容量小于A的情况,输出合法出栈序列4.输出操作5.输出操作完整可运行代码描述描述某列车调度站的铁道联接结构如Figure1所示其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S…

    2022年7月26日
    7
  • mongovue 导入mysql_MongoVUE简单操作手册「建议收藏」

    mongovue 导入mysql_MongoVUE简单操作手册「建议收藏」本文转自网络,对疑问的地方做了修改MongoVUE是个比较好用的MongoDB客户端,需要注册,但是可以变成永久使用,一、基础操作新增一个连接进入的界面形如二、进阶操作1、查看所有数据,会有三种格式的观看方式,分别为树形,表格,bjosn,详情见1.12、查看特定的数据,使用的时候shell命令,需要一些基础的语法知识,详情见2.13、更新数据,详情见3.14、删除数据,慎用,如果没有备份,删除…

    2022年8月21日
    5
  • 分布式拒绝服务攻击是如何实现拒绝服务的_分布式拒绝服务攻击原理是什么

    分布式拒绝服务攻击是如何实现拒绝服务的_分布式拒绝服务攻击原理是什么摘要:拒绝服务(DoS)攻击是指攻击者通过某种手段,有意地造成计算机或网络不能正常运转从而不能向合法用户提供所需要的服务或者使得服务质量降低。分布式拒绝服务(DDoS)攻击则是指处于不同位置的多个攻击者同时向一个或数个目标发起攻击,或者一个或多个攻击者控制了位于不同位置的多台机器(称为傀儡机)并利用这些机器对受害者同时实施攻击。

    2025年6月26日
    3
  • 网络协议学习–SOAP协议(一)

    网络协议学习–SOAP协议(一)学习了soap协议,介绍了关键的组成部分,rpc,http协议,xml,wsdl文件,以及用postman模拟soap进行测试。

    2022年7月15日
    15
  • python 字典最外层使用_python字典底层实现

    python 字典最外层使用_python字典底层实现前言问题1:python中的字典到底是有序还是无序问题2:python中字典的效率如何python字典底层原理在Python3.5以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插

    2022年7月29日
    8
  • ios消息推送

    ios消息推送

    2021年8月19日
    61

发表回复

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

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