rendezvous hashing vs consistent hashing (w/ virtual nodes)

rendezvous 对比consistent hashing 有什么好处?
从这篇文章

  1. Cascaded Failover后load balance更好(我对此存疑,理由如下)
  2. Weighted Servers 可以方便的根据机器capability设置流量权重
  3. LightWeight Memory 不需要存 hash ring的映射关系,也不用存virtual node的映射关系。

如果consistent hashing 用了virtual nodes,某机器掉线以后产生的数据迁移依然能够保持负载均衡,这样理解是对的吗?
这样看来rendezvous 较之consistent hashing的好处只有 2和3成立。

现实中有什么产品应用是rendezvous实现的呢?

1 个赞

Rendezvous Hashing 挺有意思的,但我估计大多数面试官可能也没听过,所以不建议在面试当中提了。
我觉得主要是优势是一。Consistent hashing 在掉线后的数据迁移即使是 virtual node,也基本上是一个机器对另一个机器的数据迁移,不是一个机器向多台机器的数据迁移。
现实当中的使用我看到过的是 Twitter 内部的 Event Bus.

有virtual node, 就是1对多的迁移了。 不然一个node 挂了, 另外一个突然要处理两倍的request 也会挂的。 virtual nodes 解决了这个问题。