更新时间:

#一致性哈希算法原理

看了几篇,就这篇带着图,解释清晰

#一致性Hash算法背景

一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。

但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached服务器端本身不提供分布式cache的一致性,而是由客户端来提供,具体在计算一致性hash时采用如下步骤:

  • 首先求出memcached服务器(节点)的哈希值,并将其配置到0~232的圆(continuum)上。
  • 然后采用同样的方法求出存储数据的键的哈希值,并映射到相同的圆上。
  • 然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。如果超过232仍然找不到服务器,就会保存到第一台memcached服务器上。

详细内容参见原文:
https://www.cnblogs.com/lpfuture/p/5796398.html


#评论

#评论 1 · 2023-04-23T15:59:00.997000Z

Redis Hash 算法 MurmurHash2. 不为加密,只为减少hash冲突。MurmurHash2 更快