5、分布式系统中的故障类型与密码学抽象

分布式系统中的故障类型与密码学抽象

1. 分布式系统中的故障类型

1.1 遗漏故障

遗漏故障是一种较为常见的故障类型。当一个进程没有按照其算法要求发送或接收消息时,就会发生遗漏故障。通常,这种故障是由缓冲区溢出或网络拥塞导致消息丢失引起的。在出现遗漏故障时,进程会丢弃一些本应与其他进程交换的消息,从而偏离其原本分配的算法。不过,除了与后续介绍的崩溃 - 恢复故障相关的内容外,这里不再深入探讨遗漏故障。

1.2 崩溃 - 恢复故障

在某些分布式环境中,假设特定进程永远不会崩溃是不现实的。例如,假设大多数进程不会崩溃的条件可能过于苛刻,即使这种情况只在算法执行期间不发生。

崩溃 - 恢复进程抽象是一种有趣的替代方案。在这种情况下,如果一个进程崩溃后无法恢复,或者无限次地崩溃和恢复,那么该进程被认为是有故障的;否则,该进程是正确的。从算法执行的生命周期来看,正确的进程最终会一直处于运行状态,一个崩溃并有限次恢复的进程在这个模型中也被视为正确的。

根据崩溃 - 恢复抽象,进程可能会崩溃并停止发送消息,但之后可能会恢复。这可以看作是一种遗漏故障,但有一个例外:进程崩溃时可能会失忆,丢失其内部状态。这使得算法设计变得更加复杂,因为恢复后,进程可能会发送与崩溃前发送的消息相矛盾的新消息。

为了解决这个问题,有时会假设每个进程除了常规的易失性内存外,还有一个稳定存储(也称为日志),可以通过存储和检索操作来访问。恢复时,假设进程知道自己已经崩溃并恢复,运行时环境会自动生成一个特定的 ⟨Recovery⟩ 事件,类似于进程开始执行算法时生成的 ⟨Init⟩ 事件。处理 ⟨Recovery⟩ 事件时,应先从稳定存储

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值