为什么 MAX_GROUP_SIZE 在 CP 子系统中是 7?

Why the MAX_GROUP_SIZE is 7 in CP Subsystem?

public static final int MAX_GROUP_SIZE = 7; 一个 CP 组由 3 到 7 之间的奇数个 CPMember 组成。

为什么是 7?不多了?

CP子系统正在实现RAFT共识算法,即使在节点故障的情况下也能保证一致性。为了正确实施 RAFT,部分 CP 子系统以同步行为实施(其中 AP 子系统中的类似功能可以异步实施)。

这种同步实现意味着参与子系统的节点越多,由于成员响应缓慢而导致延迟的可能性就越大。由于所有节点都参与每次更新,因此还需要额外的网络流量来支持每个额外的节点。

因此,限制集群的大小有助于保持高性能和低延迟。如果需要更多的节点,CP 子系统允许配置多个一致性组,每个一致性组可以有 3 到 7 个节点。这样,CP子系统的整体规模是无限的;只要它被划分为大小可管理的一致性组。