或者一般来说:
假设我们有一个n个节点的集群,每个数据片段都复制在k个节点上。我们的法定人数计算为(k + 1)/ 2.我们的数据均匀分布。
让我们说m节点向下。那么,什么是未达到法定人数的概率(请求命中(k + 1)/ 2个节点已关闭)以及所有请求的百分比将面临此问题?
以下是5个节点和复制因子3的示例:
有5个节点和复制因子3,我们将有10个可能的3个服务器组:
a b c d e
组:
a b c
a b d
a b e
a c d
a d e
a c e
a d e
b c d
b c e
c d e
1)a已关闭,因此有7组受影响,但我们需要法定人数为2,因此群集仍在运行并提供数据。
2)a和b关闭。 9组受到影响,但只有b c,a b d,b 2丢失了2台服务器且无法提供数据。因此,30%的群集已经关闭。
3)a,b和c下降。所有组都受到影响,但只有b c,a b d,a b e,a c d,a c e,b c d,b e e丢失2或3个节点。因此,70%的群集已经关闭。
4)a,b,c,d - 100%下降。
谢谢!
答案 0 :(得分:0)
取决于哪些节点关闭以及密钥如何在节点之间分配。最好的情况是,100%的数据是可访问的,最坏的情况是70%。