分布式理论(3) | 青训营笔记

70 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天。今天继续学习了分布式理论的基本概念和共识协议的相关知识。

共识协议

Quorum NWR模型

三要素:

N:在分布式存储系统中,有多少份备份数据。

W:代表一次成功的更新操作要求至少有W份数据写入成功。

R:代表一次成功的读数据操作要求至少有R份数据成功读取。

为了保证强一致性,需要保证W+R>N

Quorum NWR模型将CAP的选择交给用户,是一种简化版的一致性模型。

image.png

RAFT协议

RAFT协议是一种分布式一致性算法(共识算法),即使出现部分节点故障,网络延时等情况,也不影响各个节点,进而提高系统的整体可用性。RAFT是使用较为广泛的分布式协议。一定程度上讲,RAFT也使用了Quorum机制。

Leader:领导者,负责处理所有客户端请求,并向Follower同步请求日志,当日志同步到大多数节点后,通知Follower提交日志。

Follower:跟随者,在Leader告知日志可以提交后,提交日志。当leader故障时,主动推荐自己为Candidate。

Candidate:备选者,选举过程的临时角色,如果获得大多数选票,晋升为Leader。

image.png

image.png

image.png

image.png

Paxos协议

Paxos算法与RAFT算法的区别:

1、Multi-Paxos可以并发修改日志,而RAFT写日志操作必须是连续的。

2、Multi-paxos可以随机选主,不必最新最全的节点当选Leader。

image.png Paxos优势:写入并发性能高,所有节点都能写入。

Paxos劣势:没有一个节点有完整的最新数据,恢复流程复杂,需要同步历史记录。