【问题标题】:Cassandra: With 10 nodes in a ring and with a replication factor of 3 what is probability of getting quorum (2 nodes) if 3 nodes are down?Cassandra:环中有 10 个节点,复制因子为 3,如果 3 个节点出现故障,获得仲裁(2 个节点)的概率是多少?
【发布时间】:2013-10-29 01:24:25
【问题描述】:

或者一般来说:

假设我们有一个包含 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 c d
一个德
a c e
一个德
b c d
b c e
c d e

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

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

3) a、b 和 c 下降。所有组都受到影响,但只有 a b c、a b d、a b e、a c d、a c e、b c d、b c e 丢失了 2 或 3 个节点。因此,70% 的集群已关闭。

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

谢谢!

【问题讨论】:

    标签: nosql cassandra replication permutation probability


    【解决方案1】:

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

    【讨论】:

    • 是的,它将是 70%。我可以通过写下所有排列来计算它。但公式是什么? 100 个节点,复制因子 7,一个 quorum 中的 4 个节点和 23 个节点 - 如何数学计算?
    • 其实不知道是不是70%。
    • @Alex 如果下行节点都是相邻的,那么不可能在 3 个范围内获得 quorum。假设数据分布均匀,10 个不可访问范围中有 3 个意味着您有 70% 的可用性。如果它们不相邻,您仍然可以有 100% 的可用性。
    猜你喜欢
    • 1970-01-01
    • 2017-02-02
    • 2020-07-11
    • 2022-11-03
    • 2017-01-24
    • 1970-01-01
    • 2017-07-30
    • 2019-09-28
    • 1970-01-01
    相关资源
    最近更新 更多