cassandra - ScyllaDB / Cassandra 的复制因子高于 CL=QUORUM 的节点总数
问题描述
非常感谢有人可以帮助解决以下问题。
*RF= 复制因子
*CL= 一致性级别
我们有强一致性和更高可用性的要求。因此,我一直在测试 7 个节点 ScyllaDB 集群的 RF 和 CL,方法是保持 RF=7(每个节点上 100% 的数据)和 CL=QUORUM。如果 2 个节点出现故障,数据复制/复制会发生什么情况?它是否将 2 个向下节点数据(第 6 和第 7 个副本)复制到剩余的 5 个节点上?还是会简单地丢弃这些副本?当只有 5 个活动节点时,RF=7 会有什么影响?
我在日志中找不到任何东西。我们有这个案例的任何文件/链接参考吗?或者我如何验证和证明这种行为?请解释?
解决方案
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/
推荐阅读
- html - 使用图像作为可点击的锚链接
- apache-spark - 对于 Spark 结构化流应用程序,将日志流式传输到 CloudWatch Logs 的最佳方式是什么?
- excel - 禁止来自 Worksheet.BeforeDoubleClick 事件的保存更改提示
- angular - 错误类型错误:解析不是 SafeSubscriber._next (vendor.js:139806) 的功能-Angular 7:侧导航中的路由不起作用
- java - 如何在 Spring Boot 的日志中尽早打印应用程序版本?
- algorithm - 对于给定的旅行商问题的特殊情况,下列哪项陈述是正确的?
- wordpress - 特色图片未显示
- c# - SerialPort.DataReceived 在 Windows 服务/会话零中不起作用
- sql - SQL - 将行旋转到列并采用笛卡尔积
- amazon-web-services - AWS 负载均衡器 + NginX + EC2 AutoScaling 组