一致性哈希算法
一致性哈希算法
为了解决集群中机器变动或各种原因导致的缓存失效的问题,我们使用一个哈希环,通过对2^32取模来将进来的键值分布在一个 0 到 2^32 范围的一个环上,将机器的唯一标识符(IP地址)分布在整个环上,这就会将环分割成很多个间隔
查询的时候将数据 Key 计算出哈希值,从而知道在哈希环上的位置,然后顺序行走找到对应的服务器,如果某台服务器出故障了,请我们只需要把另外一个从副本服务器设置到行走的路径中,故障的服务器的逆时针方向前即可
为了避免查询的键行走过长距离(数据倾斜问题),可以为同一节点设置虚拟节点减少行走步长