一致性哈希中的不可用节点

Unavailable nodes in consistent hashing

从我读到的所有内容来看,在一致性哈希中,如果一个节点崩溃,该节点处理的密钥将被重新映射到哈希环中的相邻节点。这在概念上对我来说很有意义。

我不明白这在实践中如何适用于分布式数据库。如果节点崩溃了,如何将数据移动到另一个节点?它是否假设有 backup/standby 集群可用?还是可以从中复制的冗余节点?

是的。从集群中的其他节点复制数据。如果不复制数据,则无法恢复数据。

Consistent Hashing 为我们提供了一个节点,该节点分配了密钥。如何识别复制密钥的其他节点?

答案是复制策略建立在一致性哈希之上。首先,使用一致性哈希来识别密钥所属的节点。其次,系统使用另一种算法复制数据。其中一种策略是系统将数据写入下一个节点,按顺时针方向,写入一致性哈希环中的当前节点。例如,您可以找到一些其他复制策略 here.