Cassandra 一致散列效应

Cassandra 一致散列效应,cassandra,consistent-hashing,Cassandra,Consistent Hashing,我试图弄清楚像Cassandra这样使用一致散列的系统是如何处理级联节点故障的。我知道有虚拟节点的概念,密钥映射到虚拟节点。虚拟节点依次映射到实际的物理节点,其思想是每个物理节点获得相等的键空间份额。我的问题是:当物理节点宕机时会发生什么?此物理节点上的所有虚拟节点都需要移动到另一个物理节点。这会不会导致多米诺效应,导致集群中的其他节点过载?现实生活中的系统如何处理这种情况?当节点关闭时,令牌范围不会自动移动。如果节点完全关闭,则应通过移除或刺杀节点手动触发令牌范围重新平衡 当负责某些令牌范围的

我试图弄清楚像Cassandra这样使用一致散列的系统是如何处理级联节点故障的。我知道有虚拟节点的概念,密钥映射到虚拟节点。虚拟节点依次映射到实际的物理节点,其思想是每个物理节点获得相等的键空间份额。我的问题是:当物理节点宕机时会发生什么?此物理节点上的所有虚拟节点都需要移动到另一个物理节点。这会不会导致多米诺效应,导致集群中的其他节点过载?现实生活中的系统如何处理这种情况?

当节点关闭时,令牌范围不会自动移动。如果节点完全关闭,则应通过移除或刺杀节点手动触发令牌范围重新平衡


当负责某些令牌范围的节点下降时,其副本将继续为流量提供服务

嘿,亚历克斯,我不是OP,但对相关话题很好奇;3个节点,RF 1,%33每个-一个节点已关闭(我们无法恢复)-当我们从环中删除已消失的节点时-是否将剩余的%66作为%100在两个节点之间重新分配到%50/%50每个节点,我们将丢失%33个数据?如果RF=1,数据将完全消失。。。如果您的RF>1,剩下的复制副本将成为创建其他复制副本的源-但是这是否会导致复制副本现在提供更多的流量,从而可能导致其失败等等。。?也许我们可以通过仔细的资源调配来解决这个问题?是的,您需要调整群集的大小以处理失败的副本等。流量总是有峰值,群集应该能够处理+20-30%的正常流量。我建议使用NoSQLBench工具进行此类大小调整