一致性哈希算法

解决问题

  传统的数据路由/分片的做法是将key的哈希值对N取模,N为槽位数(槽位数即机器数)。这种方案的问题在于最终的路由结果会跟着机器数量的变化而变化(扩容、缩容和宕机等),从而导致请求查询不到数据或者请求出错等情况。
  问题:机器数作为槽位数,当机器数量发生变化时,导致大量请求重哈希。

一致性哈希算法

  算法思想:槽位数取无限大的固定值,不再与机器数产生关联,如下图所示,这样无论机器数量如何变化,请求的哈希结果是不变的。机器与槽位的关系既可以通过算法分配,比如均分、平均轮询等,也可以通过映射表来维护映射关系。
在这里插入图片描述

参考

  1. 一致性哈希算法及其在分布式系统中的应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值