宕机容错(CFT)-分布式一致性算法RAFT

Posted 酣睡中的银酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宕机容错(CFT)-分布式一致性算法RAFT相关的知识,希望对你有一定的参考价值。

      Raft是强一致性的分布式日志复制协议,是宕机容错的,Raft相比较于Paxos更加简洁,动画理解见于:http://thesecretlivesofdata.com/raft/。

    相比较于其他的CFT一致性协议,Raft具有以下优势

- 强leader,只会将日志复制从leader到其他副本,简化复制日志和协议的复杂性

- leader选举,Raft采取随机时间来选举leader,快速响应,算法简洁

- 集群成员改变,当集群成员改变时,仍可继续提供服务


Raft 一致性协议对于可用性系统具有以下特点:

- 安全性:在非拜占庭节点条件下,可容忍网络延迟,包丢失,重复,数据包重排序

-可用性,只要超半数节点可用,系统就可用

-不需要靠时间来保证日志的一致性,可以容忍时钟错误可消息延迟


Raft实现架构:

如上图所示,通过一致性模块写入Log,确认后再写入状态机,这样,数据就被正式的写入数据库中。

Raft节点身份切换:当follower没有收到leader的心跳超过一个随机时间,就开始进入Candidate身份,发起投票,如果收到超过半数投票,即成为leader,当发现任期(Term)更高发节点又会退回到Follower节点身份。如下图所示.

宕机容错(CFT)-分布式一致性算法RAFT

每个Leader服务都有一个时间段,叫任期,超过任期会重新选举,如图所示:

Raft协议要点:

1 leader election

2 log Replication

3 Election restriction

4 safely

细节看论文:



以上是关于宕机容错(CFT)-分布式一致性算法RAFT的主要内容,如果未能解决你的问题,请参考以下文章

理解Raft算法,轻松应对分布式容错和一致性

分布式环境RAFT一致性共识算法解读

10分钟弄懂Raft算法

分布式数据一致性算法之Raft算法

Raft算法

分布式系统架构系列讲解五(分布式一致性 5):Raft算法