1

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

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

4

1 回答 1

2

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

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

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

于 2018-07-31T10:04:10.580 回答