Nacos的Raft一致性算法

Raft算法

在学术界中分布式一致性算法的基石还是Paxos为代表,Paxos算法是Lamport宗师提出的一种基于消息传递的分布式一致性算法,使其获得2013年图灵奖。

由于Paxos难以理解,而且很难落地到工程实践,所以Paxos在工程中运用的并不多

取而代之的是易理解易实现的Raft算法,号称几乎等同于Paxos,但是性能肯定不及Paxos

分布式一致性算法也称为共识算法,是指在大型分布式系统中,在遇到请求时,各个节点的数据能够保持一致,并且在遇到部分机器宕机时,也能保证整体服务的数据一致性

学习Raft算法最好的方式则是阅读论文:https://raft.github.io/raft.pdf 关于Raft协议步骤动画:Raft

这里我们了解Raft算法中核心逻辑,Raft算法中其实大致分为三个子问题 Leader Election 、Log Replication、Safety,对应的也就是选主,日志复制,安全性(通过安全性原则来处理一些特殊 case,保证 Raft 算法的完备性)

Raft的核心流程归纳:

首先选出 leader,leader 节点负责接收外部的数据更新/删除请求 然后日志复制到其他 follower节点,同时通过安全性的准则来保证整个日志复制的一致性 如果遇到 leader 故障,f

你可能感兴趣的:(微服务,nacos)