mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-08-01 16:28:03 +08:00
commit
1e84bb53ff
@ -67,7 +67,7 @@ Gossip 设计了两种可能的消息传播模式:**反熵(Anti-Entropy)**
|
||||
|
||||
> 熵的概念最早起源于[物理学](https://zh.wikipedia.org/wiki/物理学),用于度量一个热力学系统的混乱程度。熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大。
|
||||
|
||||
在这里,你可以把反熵中的熵了解为节点之间数据的混乱程度/差异性,反熵就是指消除不同节点中数据的差异,提升节点间数据的相似度,从而降低熵值。
|
||||
在这里,你可以把反熵中的熵理解为节点之间数据的混乱程度/差异性,反熵就是指消除不同节点中数据的差异,提升节点间数据的相似度,从而降低熵值。
|
||||
|
||||
具体是如何反熵的呢?集群中的节点,每隔段时间就随机选择某个其他节点,然后通过互相交换自己的所有数据来消除两者之间的差异,实现数据的最终一致性。
|
||||
|
||||
|
@ -106,7 +106,7 @@ raft 使用了随机的选举超时时间来避免上述情况。每一个 Candi
|
||||
|
||||
## 4 日志复制
|
||||
|
||||
一旦选出了 Leader,它就开始接受客户端的请求。每一个客户端的请求都包含一条需要被复制状态机(`Replicated State Mechine`)执行的命令。
|
||||
一旦选出了 Leader,它就开始接受客户端的请求。每一个客户端的请求都包含一条需要被复制状态机(`Replicated State Machine`)执行的命令。
|
||||
|
||||
Leader 收到客户端请求后,会生成一个 entry,包含`<index,term,cmd>`,再将这个 entry 添加到自己的日志末尾后,向所有的节点广播该 entry,要求其他服务器复制这条 entry。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user