什么是一致性hash算法?

分布式环境中,通常采用hash算法来决定数据到底存在在哪个服务器上。如果原来有一共有4个服务器,所有数据便分布在这些服务器上。若要增加一个服务器的话,正常的hash算法就会失效。

一致性hash是将所有服务器顺时针平均分布在 223 个点形成的环上,每个数据的hash值是对 223取模,然后再顺时针走下去,当遇到第一个服务器便存储在这个服务器上。

如果有一个服务器失效了,只要将这个服务器中的数据移到它的下一个节点服务器就可以了。

如果要新增一个服务器,只要将它的下一个服务器上的数据重新分配位置即可(因为它的下一个服务器可能存了本该由它存的数据)

什么是一致性hash算法?什么是一致性hash算法?