分布式存储之一致性哈希算法

基本思想

一致性哈希算法(Consistency Hashing)是一种分布式存储算法,通过哈希环实现数据的均衡分布和高可用。主要特点是:

  1. 数据映射到一个0到2^32的哈希环上。

  2. 节点也映射到这个哈希环上。

  1. 每个数据通过哈希函数确定一个位置,定位到其顺时针方向第一台服务器节点上。

  2. 当新增或删除节点时,只影响相邻数据,大部分数据位置不变。

比如节点A映射到哈希环的30位置,节点B映射到70位置。数据X映射到40位置,按顺时针方向找到节点A,所以存储到A上。

如果新增节点C映射到50位置,只会影响40-50区间数据,其它数据位置不变,实现了高可用。

相比哈希取余,一致性哈希算法只需要重定位部分数据,大大减少了扩容缩容的影响。

它的缺点是数据分布不够均匀,容易造成数据倾斜。常见优化是引入虚拟节点来纾解热点问题。

拓展资料:简单介绍:一致性HASH算法和取余算法