Skip to content

Commit

Permalink
fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
isno committed Jun 20, 2024
1 parent 0f75ff8 commit b52a032
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions consensus/raft-ConfChange.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@

你可能会想到把“配置”当成 Raft 中的“特殊日志”。由此,成员动态变更的问题不就变成了**配置日志一致性问题么?**

但成员变更有个特殊性,如果处理方式不当/网络故障,可能会导致两个多数派(变更前的多数派 C~old~(旧配置)和变更的多数派 C~new~(新配置))之间不存在相交的成员,这样就产生两个 Leader 在各自认为的“多数派”中工作的问题。
但成员变更有个特殊性,如果处理方式不当,可能会导致两个多数派(变更前的多数派 C~old~(旧配置)和变更的多数派 C~new~(新配置))之间不存在相交的成员,这样就产生两个 Leader 在各自认为的“多数派”中工作的问题。

如图 6-21 所示,3 个节点的集群扩展到 5 个节点,直接扩展可能会造成 Server1 和 Server2 构成 C~old~ 的多数派,Server3、Server4 和 Server5 构成 C~new~ 的多数派。因为这两个多数派不存在相交的成员,所以有可能在一个日志索引上会提交两个不同的日志项,从而导致协议冲突,影响 Raft 的安全性。
如图 6-21 所示,3 个节点被同时添加到集群,同时添加多个节点可能会造成 Server1 和 Server2 构成 C~old~ 的多数派,Server3、Server4 和 Server5 构成 C~new~ 的多数派。

这两个多数派不存在相交的成员,所以有可能在一个日志索引上会提交两个不同的日志项,从而导致协议冲突,影响 Raft 的安全性。

:::center
![](../assets/raft-ConfChange.png) <br/>
Expand Down

0 comments on commit b52a032

Please sign in to comment.