raft笔记

发布时间 2023-05-27 15:52:01作者: 纸包鱼

目的:一致性算法,允许一组机器作为一个一致的组来工作,这些组可以承受某些成员的故障,提高可用性

领导选举,日志同步,快照,集群变动

复制状态机用于解决分布式系统中的各种容错问题,会出现共识算法

共识和复制状态机通过保持复制日志的一致性

raft是一种日志复制算法

Raft通过首先选举一个领导者,然后让领导者完全负责管理复制的日志来实现一致性

一个 Raft 集群包含若干个服务器节点;通常是 5 个

日志复制维护特性

  • 如果在不同的日志中的两个条目拥有相同的索引和任期号,那么他们存储了相同的指令。//来自唯一leader
  • 如果在不同的日志中的两个条目拥有相同的索引和任期号,那么他们之前的所有日志条目也全部相同。//来自一个一致性检查,发送时附加上一次的结果

不一致的结果通过强制follower与leader统一来解决

为了保证应用了日志的统一也就是不会被覆盖,领导之选举的时候需要附加完整性的限制

raft协议通过约束当前任期不能提交之前任期的日志条目保证避免提交之前任期符合提交条件但未提交日志。

raft在集群更改的时候一次只能从集群中添加或删除一个服务器

 

 

 

 

 

 

 

 

 

 

 

 

 

 

raft协议通过约束当前任期不能提交之前任期的日志条目保证避免提交之前任期符合提交条件但未提交日志。