这是我参与「第五届青训营」伴学笔记创作活动的第 8 天
lecture8「分布式理论 - 现代架构基石」
真正解决了拜占庭问题的是比特币
理论基础
- CAP理论
- ACID理论
- BASE理论
分布式事务
- 2个阶段提交
-
3个阶段提交
-
MVCC
- 乐观锁、悲观锁
共识协议
-
Quorum NWR模型
-
RAFT协议
- Raft协议是一种分布式一致性算法(共识算法),即使出现部分节点故障,网络延时等情况,也不影响各节点,进而提高系统的整体可用性。Raft是使用较为广泛的分布式协议。一定意义上讲,RAFT也使用了Quorum机制。
- Leader-领导者,通常一个系统中是一主(Leader)多从(Follower)。Leader负责处理所有的客户端请求,并向Followerf同步请求日志,当日志同步到大多数节点上后,通知Follower提交日志
- Follower-跟随者,不会发送任何请求接受并持久化Leaderl同步的日志,在Leadert告知日志可以提交后,提交日志。当Leader出现故障时,主动推荐自己为Candidate。
- Candidate-备选者,Leaderi选举过程中的创临时角色。向其他节点发送请求投票信息。如果获得大多数选票,则晋升为Leader。.
-
PAXOS协议
分布式实践
- MapReduce
-
分布式KV
- 架构:将海量结构化数据根据Key分成不同的Region,每个Region构建一个单机KV数据库,Region,之间形成Raft Groups,做到强一致
- 容错:当Node故障时,通过Raft Learner模式进行数据修复
- 弹性:当出现局部Key热点或数据膨胀时,Region可以进行Split操作,分成两个子Region,反之收缩时进行Merge操作
思维导图
推荐课程: