分布式系统之10、容错性_第1页
分布式系统之10、容错性_第2页
分布式系统之10、容错性_第3页
分布式系统之10、容错性_第4页
分布式系统之10、容错性_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章容错性一、容错性简介基本概念故障运用冗余掩盖故障1、基本概念容错即意味着系统能在故障发生的状况下接着供应服务。几个相关概念可用性:系统可以工作,即可被运用牢靠性:指系统可以无故障地持续运行平安性:系统在偶然出现故障的状况下可以正确操作而不会造成任何灾难。可维护性:系统发生故障后,复原的难易程度2、故障可以分为短暂的、间歇的和许久的。可以进一步分为以下类型:故障类型说明崩溃性故障服务器停机,但停机之前工作正常遗漏性故障

接收遗漏

发送遗漏服务器不能响应来到的请求

服务器不能接收消息

服务器不能发送消息定时故障服务器未能按时响应响应故障

值故障

状态转换故障服务器响应不正确

响应值不正确

服务器偏离了正确的控制流随意性故障服务器可能在随意的时间产生随意的响应3、运用冗余掩盖故障分布式系统容错的目的对其他进程或客户隐藏故障(故障透亮性)容错手段:运用冗余掩盖故障三种冗余方法:信息冗余:添加额外的位以使错误的位复原。时间冗余:多次重复一个操作,适合临时性或间歇性故障。物理冗余:物理上添加备份二、分布式系统的进程容错进程组同等组和等级组组成员的管理1、进程组进程组把多个相同的进程组织到一个逻辑的组中当组中某个成员进程遭遇故障而不能工作时,组中其他成员可以接管它目的允许把进程的集合作为逻辑上单一的对象来处理,增加系统的容错性进程组进程组特性组本身可以是动态的组成员可以是动态的一个进程可以从属于多个组类型:同等组和等级组2、同等组和等级组同等组对应分布式概念全部成员地位都是相同的全部确定都是共同作出的等级组对应集中式概念一般有一个协调者进程,其他则是工作者组内关系和动作由协调者做确定同等组和简洁等级组同等组和等级组同等组没有单独故障点决策效率低等级组有单个故障点决策效率高。3、组成员管理基本问题加入与离开组成员故障处理运用组管理服务器(集中式方法)全部进程要加入或者离开组都向它申请优点:干脆,高效,易于实现缺点:单一失败点分布式方法进程加入和离开组须要给全部成员发恳求,共同作出确定当成员发生故障崩溃时,须要通过一些协议来重建组三、牢靠的点对点通信与容错分布式系统通信的牢靠性设计的重点在于掩盖崩溃性故障遗漏性故障随意性故障—通过重复消息的形式解除。对于点到点通信,如TCP通信,崩溃性故障只能由分布式系统重新建立连接。在RPC调用中,有5种失败形式:客户不能定位服务器客户到服务器的恳求消息丢失服务器在收到恳求之后崩溃从服务器到客户的响应消息丢失客户在发送恳求之后崩溃1、RPC通信失败RPC通信失败2、客户无法定位服务器与恳求丢失客户端不能定位服务器由应用程序抛出异样来处理恳求消息丢失超时重发机制3、服务器崩溃两种状况,但对客户来说,都是超时执行之后崩溃执行之前崩溃三种处理方式在服务器重启之前等待并再次尝试操作立刻放弃并报告失败什么都不保证4、应答消息丢失也是依靠客户端的超时重发机制处理 问题:转帐另一种方法: 为每个客户恳求配一个序列号,这样服务器就能辨别客户的新恳求与重发的恳求,当服务器收到重发的恳求时,不执行重复操作5、客户崩溃最大问题:孤儿进程的产生RPC调用中,客户进程与它调用的服务器计算之间是父子关系,当客户崩溃后,驻留在服务器中接着运行的计算变得毫无意义,而且没有进程等待它、须要它。这个计算就变成了孤儿(Orphan)。客户崩溃孤儿会引起很多问题:首先,它的计算毫无意义,因为已经没人须要它的结果孤儿奢侈系统资源,包括计算、存储和其他资源当客户复原并重发恳求时,孤儿返回的结果则会引起混淆客户崩溃第一种方法是歼灭在RPC调用之前写日志客户在崩溃中复原后依据日志杀死孤儿缺点:代价高,每个RPC都须要写日志孤儿本身有可能进行RPC调用而产生后代,杀死孤儿后,其后代成为更难跟踪处理的孤儿。客户崩溃其次种方法是再生对时间分段并编号当客户重启时,向全部机器广播声明一个新时期起先其他机器收到该消息后,杀死全部与这个客户有关的远程计算但对于广播不能到达的地方,孤儿还有可能存活客户崩溃最终一种方法是到期每个RPC都被给定一个期限T来工作到期后如不能结束就须要申请宽期否则被认为抛弃子女,与其相关的远程计算将被当作孤儿杀死四、牢靠的组通信与容错1、基本的牢靠多播方法多播:发送到进程组的消息被传送到组中全部成员。多播面临的问题:通信期间,有进程加入组通信期间组中有成员崩溃最简洁解决方法:对进程组每个成员建立点到点的连接一种简洁有效的方法如下页图示。简洁的牢靠多播2、牢靠多播的可扩展性简洁方法致命问题 当接受者数量浩大时,大量的反馈消息将沉没发送者,引起反馈拥塞。解决方法一:只在消息丢失时反馈 问题:发送者只好恒久在历史缓存器中保留消息,因为不知道消息是否送达。而且即使否定反馈照旧可能拥塞。牢靠多播的可扩展性方法二:无等级反馈限制接受者不发送成功确认当丢失消息时向组中其他成员多播其否定反馈而其他成员假如也丢失了消息,则在收到这个丢失反馈后不再向发送者发送丢失反馈保证了只有一个重发恳求送往发送者。无等级反馈抑止牢靠多播的可扩展性无等级反馈的实际应用中还是有困难:首先要确保只有一个重发恳求发送到发送者,须要全部接受者对反馈进行精确的调度,这在散布在广域网中的进程组是难事。其次多播反馈有可能中断其他成功接收消息的进程。牢靠多播的可扩展性方法三:分等级反馈限制接收进程组的成员数量特殊大接受组被划分为很多子组,这些子组组织成树的形式,包含发送者的子组构成了树的根在每个子组内,可以选用随意一种牢靠多播方案每个子组都指定一个本地协调者,负责处理子组的接收,以及本地的重发本地协调者具有自己的历史缓存分等级的牢靠多播牢靠多播的可扩展性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论