集合点与一致性哈希

Rendezvous vs consistent hashing

我读了on Wikipedia:

Unlike consistent hashing, HRW (Highest Random Weight, aka Rendezvous Hashing) requires no precomputing or storage of tokens.

为什么?

我的理解是:

所以,如果有的话,在我看来,在一致的散列中,一个人 可以选择 来预计算和预存储 h(Sj)s 但你不是需要这样做。换句话说,一致性哈希提供了这种灵活性,而 HRW 则没有。

我错了吗?如果是,为什么?

这是来自同一 link 的 HRW 的参考描述:

集合散列的圆圈解释是错误的。

集合哈希: Hash(object + Site) :结果最高的站点(最高随机权重 (HRW) 哈希)开始存储对象。 如果您删除了一个站点,对于该站点上的每个对象,对剩下的每个站点重做 Hash(object + Site) 操作以找到结果最高的站点。

一致性哈希: 给每个Site一个Site-key的数量(Site-key的数量越大,对象的重新划分就越均匀,你通过:Hash(site + number)生成它们)。把它们放在一个圆圈上。(所有这些都是可以预先计算的部分)。 存储一个object,Hash(Object)得到一个object-key,放在一个圆圈上,顺时针找到最近的site-key。具有此站点密钥的站点将存储该对象 如果您删除一个站点,您将在圆圈上删除该站点拥有的站点密钥。对于存储在该站点上的每个对象,您在圆圈上再次顺时针方向找到最近的站点密钥。

你是对的。 我们可以预先计算和预先存储 h(Sj) 的事实对于一致性哈希来说是一个优势。

维基百科指出,Rendezvous 哈希的优势在于它在概念上更易于理解和实现(尽管我个人不同意)。

它还提到了另一个优势:

Rendezvous hashing also has the great advantage that it provides simple solutions to other important problems, such as distributed k-agreement.