系列目录
一、背景
一致性是分布式领最重要的问题。一致性不代表结果的正确与否,而是分布式系统的多个物理节点的处理结果对外呈现的状态一致与否。例如所有节点都达成失败状态也是一种一致性。
二、共识与一致性的区别
一致性描述的是结果状态,共识则是一种手段。达成某种共识并不意味保障了一致性。Paxos就是一种共识算法。
三、共识算法分类
大体可以分为两类算法
1.CFT(Crash Fault Tolerance):不伪造信息的非拜占庭错误,代表算法是Paxos、Raft,特点是性能好,容忍不超过一半的故障节点。
2.BFT(Byzantine Fault Tolerance):伪造信息的拜占庭错误,特点是性能差,容忍不超过1/3的故障节点。两类代表:
- PBFT(Practical Byzantine Fault Tolerance)确定性系列算法:一旦达成共识不可逆转,就是最终结果。
- PoW概率算法:共识是临时的,随着时间推移或变化,共识结果被推翻的概率越来越小,成为最终结果。
特殊的:XFT(Cross Fault Torelrance)等算法可以提供类似CFT的处理性能,并能在大多数节点正常工作时提供BFT保障。
博客介绍了分布式共识算法,指出一致性是分布式领域重要问题,是多个物理节点处理结果对外呈现的状态一致。还说明了共识与一致性的区别,共识是手段。最后对共识算法进行分类,包括CFT、BFT等,并介绍了各类代表算法特点。
220

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



