分布式系统之10、容错性.ppt

上传人:得****1 文档编号:79200043 上传时间:2023-03-20 格式:PPT 页数:35 大小:1.47MB
返回 下载 相关 举报
分布式系统之10、容错性.ppt_第1页
第1页 / 共35页
分布式系统之10、容错性.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《分布式系统之10、容错性.ppt》由会员分享,可在线阅读,更多相关《分布式系统之10、容错性.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、响应响应故障 值故障 状态转换故障服务器响应不正确响应值不正确服务器偏离了正确的控制流随意性故障服务器可能在随意的时间产生随意的响应3 3、使用冗余掩盖故障、使用冗余掩盖故障分布式系统容错的目的p对其他进程或客户隐藏故障(故障透明性)容错手段:使用冗余掩盖故障三种冗余方法:p信息冗余:添加额外的位以使错误的位恢复。p时间冗余:多次重复一个操作,适合临时性或间歇性故障。p物理冗余:物理上添加备份二、分布式系统的进程容错二、分布式系统的进程容错进程组平等组和等级组组成员的管理1 1、进程组、进程组进程组p把多个相同的进程组织到一个逻辑的组中p当组中某个成员进程遭遇故障而不能工作时,组中其他成员可以

3、接管它目的p允许把进程的集合作为逻辑上单一的对象来处理,增加系统的容错性进程组进程组进程组特性p组本身可以是动态的p组成员可以是动态的p一个进程可以从属于多个组类型:平等组和等级组2 2、平等组和等级组、平等组和等级组平等组p对应分布式概念p所有成员地位都是相同的p所有决定都是共同作出的等级组p对应集中式概念p一般有一个协调者进程,其他则是工作者p组内关系和动作由协调者做决定平等组和简单等级组平等组和等级组平等组和等级组平等组p没有单独故障点p决策效率低等级组p有单个故障点p决策效率高。3 3、组成员管理、组成员管理基本问题p加入与离开组p成员故障处理使用组管理服务器(集中式方法)p所有进程要

4、加入或者离开组都向它申请p优点:直接,高效,易于实现p缺点:单一失败点分布式方法p进程加入和离开组需要给所有成员发请求,共同作出决定p当成员发生故障崩溃时,需要通过一些协议来重建组三三、可靠的点对点通信与容错、可靠的点对点通信与容错分布式系统通信的可靠性设计的重点在于掩盖p崩溃性故障p遗漏性故障p随意性故障通过重复消息的形式排除。对于点到点通信,如TCP通信,崩溃性故障只能由分布式系统重新建立连接。在RPC调用中,有5种失败形式:p客户不能定位服务器p客户到服务器的请求消息丢失p服务器在收到请求之后崩溃p从服务器到客户的响应消息丢失p客户在发送请求之后崩溃1 1、RPCRPC通信失败通信失败R

5、PCRPC通信失败通信失败2 2、客户无法定位服务器与请求丢失客户无法定位服务器与请求丢失客户端不能定位服务器p由应用程序抛出异常来处理请求消息丢失p超时重发机制3 3、服务器崩溃服务器崩溃两种情况,但对客户来说,都是超时p执行之后崩溃p执行之前崩溃三种处理方式p在服务器重启之前等待并再次尝试操作p立即放弃并报告失败p什么都不保证4 4、应答消息丢失应答消息丢失也是依靠客户端的超时重发机制处理问题:转帐另一种方法:为每个客户请求配一个序列号,这样服务器就能分辨客户的新请求与重发的请求,当服务器收到重发的请求时,不执行重复操作5 5、客户崩溃客户崩溃最大问题:孤儿进程的产生RPC调用中,客户进程

6、与它调用的服务器计算之间是父子关系,当客户崩溃后,驻留在服务器中继续运行的计算变得毫无意义,而且没有进程等待它、需要它。这个计算就变成了孤儿(Orphan)。客户崩溃客户崩溃孤儿会引起许多问题:p首先,它的计算毫无意义,因为已经没人需要它的结果p孤儿浪费系统资源,包括计算、存储和其他资源p当客户恢复并重发请求时,孤儿返回的结果则会引起混淆客户崩溃客户崩溃第一种方法是消灭p在RPC调用之前写日志p客户在崩溃中恢复后根据日志杀死孤儿缺点:p代价高,每个RPC都需要写日志p孤儿本身有可能进行RPC调用而产生后代,杀死孤儿后,其后代成为更难跟踪处理的孤儿。客户崩溃客户崩溃第二种方法是再生p对时间分段并

7、编号p当客户重启时,向所有机器广播声明一个新时期开始p其他机器收到该消息后,杀死所有与这个客户有关的远程计算但对于广播不能到达的地方,孤儿还有可能存活客户崩溃客户崩溃最后一种方法是到期p每个RPC都被给定一个期限T来工作p到期后如不能结束就需要申请宽期p否则被认为抛弃子女,与其相关的远程计算将被当作孤儿杀死四、可靠的组通信与容错四、可靠的组通信与容错1 1、基本的可靠多播方法、基本的可靠多播方法多播:发送到进程组的消息被传送到组中所有成员。多播面临的问题:p通信期间,有进程加入组p通信期间组中有成员崩溃最简单解决方法:对进程组每个成员建立点到点的连接一种简单有效的方法如下页图示。简单的可靠多播

8、2 2、可靠多播的可扩展性、可靠多播的可扩展性简单方法致命问题当接受者数量庞大时,大量的反馈消息将淹没发送者,引起反馈拥塞。解决方法一:只在消息丢失时反馈问题:发送者只好永远在历史缓存器中保留消息,因为不知道消息是否送达。而且即使否定反馈依然可能拥塞。可靠多播的可扩展性可靠多播的可扩展性方法二:无等级反馈控制p接受者不发送成功确认p当丢失消息时向组中其他成员多播其否定反馈p而其他成员如果也丢失了消息,则在收到这个丢失反馈后不再向发送者发送丢失反馈p保证了只有一个重发请求送往发送者。无等级反馈抑止可靠多播的可扩展性可靠多播的可扩展性无等级反馈的实际应用中还是有困难:p首先要确保只有一个重发请求发

9、送到发送者,需要所有接受者对反馈进行准确的调度,这在散布在广域网中的进程组是难事。p其次多播反馈有可能中断其他成功接收消息的进程。可靠多播的可扩展性可靠多播的可扩展性方法三:分等级反馈控制p接收进程组的成员数量非常大p接受组被划分为许多子组,这些子组组织成树的形式,包含发送者的子组构成了树的根p在每个子组内,可以选用任意一种可靠多播方案p每个子组都指定一个本地协调者,负责处理子组的接收,以及本地的重发p本地协调者具有自己的历史缓存分等级的可靠多播可靠多播的可扩展性可靠多播的可扩展性主要问题:p树的建立,很多情况下树是动态建立的3 3、原子多播、原子多播当把进程失败的情况考虑进来,就需要用原子多播。在分布式系统中对进程组多播时,经常需要保证消息要么发送给所有进程,要么就不向任何进程发送。有时还需要按相同的顺序发送给所有进程。这种方式多播就是原子多播。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁