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

时间:2019-10-20 07:37:00

标签: hazelcast

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

为什么是7?没有更多吗?

1 个答案:

答案 0 :(得分:0)

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

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

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