【问题标题】:ScyllaDB / Cassandra higher replication factor than total number of nodes with CL=QUORUMScyllaDB / Cassandra 的复制因子高于 CL=QUORUM 的节点总数
【发布时间】:2020-02-09 12:09:18
【问题描述】:

如果有人可以帮助解决以下问题,我们将不胜感激。

*RF=复制因子

*CL= 一致性级别

我们有很强的一致性和更高的可用性要求。因此,我一直在测试 7 个节点的 ScyllaDB 集群的 RF 和 CL,方法是保持 RF=7(每个节点上 100% 的数据)和 CL=QUORUM。 如果 2 个节点出现故障,数据复制/复制会发生什么情况?它是否将 2 个向下节点数据(第 6 和第 7 个副本)复制到剩余的 5 个节点上? 还是会简单地丢弃这些副本?当只有 5 个活动节点时,RF=7 会有什么影响?

我在日志中找不到任何内容。我们有这个案例的任何文件/链接参考吗?或者我如何验证和证明这种行为?请解释?

【问题讨论】:

    标签: cassandra replication consistency scylla


    【解决方案1】:

    RF=7 时,数据始终复制到 7 个节点。 当一个(或两个)节点宕机时,其余五个节点已经有了一个副本,不需要额外的流式传输。

    使用 CL=QUORUM,即使三个节点宕机,也不会损害您的 HA 或一致性。 当故障节点恢复运行时,它们将同步,自动使用 Hinted Handoff(对于短暂故障)或使用修复(对于较长故障)[1]

    如果您替换一个死节点[2],其他副本会将数据流式传输到它,直到它跟上

    [1]https://docs.scylladb.com/architecture/anti-entropy/ [2]https://docs.scylladb.com/operating-scylla/procedures/cluster-management/replace_dead_node/

    【讨论】:

      【解决方案2】:

      数据将始终复制到所有节点,因为您已设置 RF=7,如果 2 个节点关闭,则剩余节点将为这些节点存储一次提示,节点出现剩余节点将根据提示周期自动复制数据。如果提示周期(默认 3 小时)过期,则需要运行手动修复以使集群中的数据同步。

      【讨论】:

        猜你喜欢
        • 2016-06-23
        • 2017-02-02
        • 2015-09-25
        • 1970-01-01
        • 2019-08-10
        • 1970-01-01
        • 1970-01-01
        • 2017-11-16
        • 2017-07-30
        相关资源
        最近更新 更多