来自字节跳动的一道题:一致性Hash
缘起
我有一个图片存取服务,为了快速获取图片,我架起了3台缓存服务器,用简单的Hash映射决定图片存储在哪台缓存上。比如:
f(x) % 3 = 0 存储在s0上
f(x) % 3 = 1 存储在s1上
f(x) % 3 = 2存储在s2上
某天,缓存负载过高,需要扩容1台,缓存数量由3变为4,那么按获取图片按公式:f(x) % n,很多会请求失败,这样会直接访问后台服务,给后台服务造成很大的压力,可能造成雪崩。
是否有这样的算法,解决分布式缓存中,解决简单Hash随缓存服务器伸缩,造成大面积缓存失效的问题
原创
2020-08-13 16:28:25 ·
126 阅读 ·
0 评论