分布式系统中的共识算法与总序广播
在分布式计算领域,共识问题是最为重要的问题之一,贯穿了该领域的发展历程。
1. 共识问题的起源与发展
共识问题最初以拜占庭变体的形式被提出,Lamport、Shostak和Pease于1982年在同步系统中引入了“拜占庭协议”。而在异步系统中,它通常被称为“共识”。Fischer、Lynch和Paterson在1985年证明,即使只有一个进程失败,在故障静默模型中也没有确定性算法可以实现共识,这促使人们探索替代模型。
一方面,Dwork、Lynch和Stockmeyer在1988年引入了部分同步系统模型,使得达成共识成为可能;另一方面,Ben - Or和Rabin在1983年提出使用随机算法来解决共识问题。许多共识算法采用了故障停止系统模型或故障嘈杂系统模型,这些模型属于部分同步系统,其定时信息可通过故障检测器抽象获取。
以下是一些常见的共识算法及其特点:
|算法名称|特点|
| ---- | ---- |
|Flooding Consensus和Hierarchical Consensus算法|可追溯到Lamport、Shostak和Pease在1982年最早发表的共识算法,类似于同步系统中实现共识的“阶段 - 国王”方法|
|Leader - Driven Consensus算法|是“Paxos”共识算法的模块化表述,可从同名的全序广播算法中提取|
|Rotating Coordinator故障嘈杂共识算法|由Chandra和Toueg在1996年引入|
2. 不同共识算法的比较
“Leader - Driven Consensu
共识算法与总序广播解析
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



