0

或者一般来说:

假设我们有一个包含 n 个节点的集群,并且每条数据都复制到 k 个节点上。我们的法定人数计算为 (k+1) / 2。我们的数据是均匀分布的。

假设 m 个节点下降。那么,没有获得法定人数(请求命中 (k+1) / 2 个已关闭的节点)的概率是多少?所有请求中有多少百分比会面临这个问题?

这是 5 个节点和 3 复制因子的示例:

有了 5 个节点和复制因子 3,我们将有 10 个可能的 3 个服务器组:
abcde

组:
abc
abd
abe
acd
ade
ace
ade
bcd
bce
cde

1) a 已关闭,因此 7 个组受到影响,但我们需要 2 个组,因此集群仍处于启动状态并提供数据。

2) a 和 b 下降。9 组受到影响,但只有 abc、abd、abe 丢失了 2 台服务器,无法提供数据。因此,30% 的集群已关闭。

3) a、b、c 下降。所有组都受到影响,但只有 abc、abd、abe、acd、ace、bcd、bce 丢失了 2 或 3 个节点。因此,70% 的集群已关闭。

4) a, b, c, d - 100% 下降。

谢谢!

4

1 回答 1

0

取决于哪些节点已关闭以及您的密钥在节点之间的分布方式。最好的情况,100% 的数据是可访问的,最坏的情况是 70%。

于 2013-10-29T05:52:55.903 回答