系统可用性「建议收藏」

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

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

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

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

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

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

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

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

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


相关推荐

  • 网络传真的安装及使用方法「建议收藏」

    网络传真的安装及使用方法「建议收藏」在宽带网迅速普及的今天,Modem好像已经“廉颇老矣”,传真Modem已变成了一块“食之无味,弃之可惜”的鸡肋。而且windows的传真模块,已经远远无法满足今天人们快节奏的工作效率。在国外已经非常普遍的网络传真(efax),终于来到了国内,从2004年的引进到根据国内人们使用习惯的不断改进,近10年来,已拥有了百万级的客户群体,特别是近年来,传真营销被企业广泛应用,带来了越来越多的垃圾传

    2022年6月28日
    49
  • 11. TranslateMessage[通俗易懂]

    11. TranslateMessage[通俗易懂]TranslanteMessage函数功能:TranslateMessage函数将虚拟键消息转换为字符消息,字符消息被寄送到当前线程的消息队列里。当下一次线程调用函数GetMessage或PeekMessage时被读出。API函数原型:BOOLWINAPITranslateMessage(_In_constMSG*lpMsg);参数解析:参数…

    2025年11月2日
    3
  • 关于c++操作符的优先级

    优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。具有最高优

    2021年12月20日
    57
  • 了解如何关闭selinux[通俗易懂]

    了解如何关闭selinux[通俗易懂]1.查看SELinux状态1.1getenforcegetenforce命令是单词get(获取)和enforce(执行)连写,可查看selinux状态,与setenforce命令相反。setenforce命令则是单词set(设置)和enforce(执行)连写,用于设置selinux防火墙状态,如:setenforce0用于关闭selinux防火墙,但重启后失效[roo…

    2022年6月27日
    46
  • 由中序遍历和后序遍历还原二叉树_二叉树的中序列

    由中序遍历和后序遍历还原二叉树_二叉树的中序列二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树1、概念(1)前序遍历   a、访问根节点;b、前序遍历左子树;c、前序遍历右子树。(2)中序遍历   a、中序遍历左子树;b、访问根节点;c、中序遍历右子树。(3)后序遍历   a、后序遍历左子树;b、后续遍历右子树;c、访问根节点。2、前序遍历和中序遍历还原二叉树思想如下:  a、根据前序遍历结果,第一个元素为二叉树的根结…

    2025年11月16日
    3
  • java图片转二进制流_java将文件转化成二进制流

    java图片转二进制流_java将文件转化成二进制流二进制流的主要编码格式是base64码。可以在网上找一些在线转base64编码的网站进行尝试转换。例如:http://imgbase64.duoshitong.com/然后通过前端展现和下载。一、前端查看、下载功能实现前端显示二进制流图片(src中放置base64码及二进制流)<imgsrc=”http://dl.ppt123.net/pptbj/201603/2016030410235232.jpg”alt=””><imgsrc=”data:image/png;base

    2022年10月12日
    3

发表回复

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

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