笔记-Zookeeper:分布式系统入门到实战
原文:https://www.youtube.com/watch?v=BhosKsE8up8&t=4438s
什么是一致性
CAP
一致性
可用性
分区容错性
一致性模型
弱一致性
最终一致性:DNS,Gossip
强一致性
同步
Paxos(共识算法)
Raft(multi-paxos)
ZAB(multi-paxos))
强一致性算法-主从同步
主从同步复制
Master接受写请求
Master复制日志到slave
Master等待,直到所有从库返回
问题:一个节点失败,会阻塞
强一致性算法-多数派
大于N/2节点
并发环境下,无法保证系统正确性,顺序非常重要
强一致性算法-Paxos
角色:
Client:民众
Propser:接受Client请求,像议员
Accpetor:提议投票和接收者,像国会
learner:backup,像记录员
强一致性算法-Basic Paxos
潜在问题,活锁(多人提出问题,用等待解决)
难实现,效率低,2pc
强一致性算法-multi Paxos
只有一个leader
一轮rpc
减少角色,进一步简化
client
servers
leader
强一致性算法-Raft
进一步简化角色
client
leader
candidate
强一致性算法-ZAB
基本与raft相同
只是名词上不同,还有raft保证日志连续性,心跳方向为leader至follower.
ZAB则相反