缓存的一致性哈希算法

缓存的一致性哈希算法

问题:

在分布式集群中,对机器的添加删除,或者机器故障后自动脱离集群这些操作是分布式集群管理最基本的功能。如果采用常用的hash(object)%N算法,那么在有机器添加或者删除后,很多原有的数据就无法找到了。

一致性哈希算法是如何解决这个问题的?

环形Hash空间

按照常用的hash算法来将对应的key哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间中。现在我们可以将这些数字头尾相连,想象成一个闭合的环形。

将集群机器和key都通过hash算法映射到环上

机器节点的删除和添加

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注