首页 > 解决方案 > ScyllaDB / Cassandra 的复制因子高于 CL=QUORUM 的节点总数

问题描述

非常感谢有人可以帮助解决以下问题。

*RF= 复制因子

*CL= 一致性级别

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

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

标签: cassandrareplicationconsistencyscylla

解决方案


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

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

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

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


推荐阅读