链习笔记 | 10分钟弄懂Raft算法
Posted 兴业数金
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链习笔记 | 10分钟弄懂Raft算法相关的知识,希望对你有一定的参考价值。
点击蓝字关注 兴业数金
不知道大家有没有听过拜占庭将军问题?
中世纪的拜占庭有10只军队,每只军队有一个将军,因该国地域辽阔,10只军队分布在不同的战线,同时该国还是个军事民主制国家,各将军地位平等,没有中心指挥,战斗中军队按照将军指令进攻或撤回,10名将军依靠手下信使与其他将军保持通信,信使经过严格审查和训练,保证信息传递无误。
恰逢敌国大军压境,需要至少6只拜占庭军队同时进攻,才有机会灭掉敌国。现在将军们面临的问题是,若出现叛徒,可能会传递迷惑或错误消息,信使如果半路被暗杀,信息则无法传递,在这种状态下,如何让10只军队找到一种分布式协作的方式,让将军们通过远程准确无误的协作,从而取得战斗胜利?
拜占庭将军问题是分布式系统中点对点通信中可能会产生的状态同步及容错问题,是分布式领域最复杂最严格的容错模型,该问题最早由莱斯利·兰伯特提出。在实际分布式系统中情况没有那么复杂,通常节点不一致的原因是节点故障或是网络超时,这两种情况下,容错模型的主要功能是保持集群的一致性。
看到这里,相信大家已经知道这一期要讲什么内容了!没错,这一期还是熟悉的区块链技术~
上期区块链序言提到,区块链是在对等网络下通过透明可信规则,构造的一种不可伪造不可篡改可追溯的数据结构,用来管理和实现事务,区块链系统是分布式的集群,分布式集群模式必定会面临一个问题,那就是如何保证集群稳定和一致的目标。
关于这个问题,提出过许多的解决方案,首先被证明的是该问题提出者莱斯利·兰伯特提出的paxos容错算法,但是由于该算法复杂晦涩,难以具体实现(因paxos难以具体实现,zookeeper参考paxos实现了自己的zab算法 以上是关于链习笔记 | 10分钟弄懂Raft算法的主要内容,如果未能解决你的问题,请参考以下文章