一致性哈希(consistent hash)

一致性哈希(consistent hash)

本文将围绕以下几个问题展开:

  • 一致性哈希的出现为了解决什么问题?
  • 为什么叫一致性哈希,是否实现了分布式一致性?
  • 它是怎么做的(基本原理)
  • 优缺点

一致性哈希的诞生

一致性哈希算法是由1997年由麻省理工学院提出一种分布式哈希(DHT)实现算法。
论文链接:Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web,论文中提出利用一致性哈希解决了热点问题。除此之外,还有解决了一个分布式中常见的问题:假设在一个分布式集群中有m台服务器,使用传统的取模哈希将数据均匀存放存放在这m台服务器中。但是当某一台机器宕机或者有新的机器加入,需要对新的集群重新散列,那就意味着需要进行大量通信,数据迁移。如果是网络服务的Cache,就会造成缓存失效。一致性哈希能够有效解决上述两个问题。
目前一致性哈希更多的使用在分布式存储和p2p系统中。

基本原理

基本原理参考文章:五分钟理解一致性哈希
首先按照常用的hash算法来将对应的key哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间中。现在我们可以将这些数字头尾相连,想象成一个闭合的环形。然后把数据通过一定的hash算法处理后映射到环上。按照相同的方法将机器通过has

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值