diff --git "a/2023/11/28/\345\210\206\345\270\203\345\274\217\347\263\273\347\273\237\344\270\200\350\207\264\346\200\247/index.html" "b/2023/11/28/\345\210\206\345\270\203\345\274\217\347\263\273\347\273\237\344\270\200\350\207\264\346\200\247/index.html" index b729c1445..aee5f34f4 100644 --- "a/2023/11/28/\345\210\206\345\270\203\345\274\217\347\263\273\347\273\237\344\270\200\350\207\264\346\200\247/index.html" +++ "b/2023/11/28/\345\210\206\345\270\203\345\274\217\347\263\273\347\273\237\344\270\200\350\207\264\346\200\247/index.html" @@ -117,7 +117,7 @@ - + @@ -504,8 +504,9 @@
日志复制

zab

-

Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。 Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性。

+

Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。 Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性。
ZAB协议中主要有三个角色,分别是:

+

Leader :集群中 唯一的写请求处理者 ,能够发起投票(投票也是为了进行写请求)。
Follower:能够接收客户端的请求,如果是读请求则可以自己处理,如果是写请求则要转发给 Leader 。在选举过程中会参与投票,有选举权和被选举权 。
Observer :就是没有选举权和被选举权的 Follower

最终一致性

DNS
gossip

gossip

相比 Paxos、Raft 等算法,Gossip 的过程十分简单,它可以看作是以下两个步骤的简单循环:
如果有某一项信息需要在整个网络中所有节点中传播,那从信息源开始,选择一个固定的传播周期(譬如 1 秒),随机选择它相连接的 k 个节点(称为 Fan-Out)来传播消息。
每一个节点收到消息后,如果这个消息是它之前没有收到过的,将在下一个周期内,选择除了发送消息给它的那个节点外的其他相邻 k 个节点发送相同的消息,直到最终网络中所有节点都收到了消息,尽管这个过程需要一定时间,但是理论上最终网络的所有节点都会拥有相同的消息。

@@ -523,7 +524,7 @@

分布式系统常见知识点

-

参考文档

分布式系统中的一致性模型,以及事务
技术文章摘抄
分布式理论笔记
Java全栈知识体系
凤凰架构
raft算法实现原理详解
谈谈分布式一致性机制
一致性协议
一致性算法视频
Raft算法和ZAB算法
Paxos算法详解
深入浅出paxos

+

参考文档

分布式系统中的一致性模型,以及事务
技术文章摘抄
分布式理论笔记
Java全栈知识体系
凤凰架构
raft算法实现原理详解
谈谈分布式一致性机制
一致性协议
一致性算法视频
Raft算法和ZAB算法
Paxos算法详解
深入浅出paxos
Zab协议详解-分布式系统
深入浅出 Zookeeper 中的 ZAB 协议
分布式系统之ZAB协议