consistent hash : 一致性hash 简单笔记

一致性哈希是一种分布式缓存的解决方案,旨在减少服务器增删时的数据迁移,并保持负载均衡。通过两个哈希函数,将item均匀分配到机器上,新加入或移除机器时,仅少量item需迁移。实现中通常使用BST(如红黑树)来高效查找和操作item。该方法最初应用于缓解互联网热点问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记得我人生第一次参加面试的时候,面试官问我的就是这样一个问题: 你有很多台服务器,每台服务器上都存放着很多数据,现在要加一台服务器,如何才能让数据搬迁尽可能的少,同时能让每台服务器经可能的负载均衡。现在才发现,这就是可一致性hash 问题,当时我答了个hashMap中的rehash操作,给糊弄过去了…

具体的内容可见 reference,这里大致记录一下

问题定义

简化问题如下:

m m m 个item,有 n n n 台机器,将 m m m 个item 尽量均匀的hash到每一台服务器,同时,当机器出现删减的时候应该能够保证数据移动足够小。

简单实现

用两个hash函数,

h a s h i ( x ) hash_i(x) hash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值