18、分布式共识与 Paxos 算法详解

分布式共识与 Paxos 算法详解

1. 分布式共识问题概述

分布式共识是分布式计算中的一个基础问题,在构建容错分布式系统时尤为重要,它是确保副本一致性的关键。过去几十年里,分布式共识一直是研究热点。然而,研究中存在一个重要的不可能结果:在异步分布式系统中,即使只有一个进程可能崩溃,系统中的进程也无法达成一致。这是因为进程无法区分运行缓慢的进程和已失败的进程。

早期的共识算法依赖不可靠的故障检测器来排除失败的进程,这种方法将共识要求的安全性和活性属性混为一谈,导致算法难以理解和证明正确性。

2. Paxos 算法的出现与意义

Lamport 提出的 Paxos 算法改变了分布式共识研究的局面。Paxos 算法将安全性和活性属性分开处理,安全性要求系统中的进程只能就单一值达成一致;由于不可能结果的存在,在系统高度异步时可能无法达成共识,但在系统足够同步时可以达成共识。

自 Paxos 算法提出后,衍生出了一系列相关算法,并且基于该算法构建了许多实用的容错系统,如 Google 的 Chubby 锁服务。

3. 共识问题的具体要求

在分布式系统中,多个进程可能提出不同的值,为了让进程就某个值达成一致,需要共识算法。一个合理的共识算法应具备以下两个属性:
- 安全性属性
- (S1) 如果一个进程选择了某个值,那么其他选择了值的进程也必须选择相同的值。
- (S2) 被选择的值必须是系统中某个进程提出的。
- (S3) 如果一个进程得知了某个值,那么这个值一定是被某个进程选择的。
- 活性属

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值