在后端一般会遇到这样的场景:随着系统的访问量或者数据存储量增大,就会造成服务器响应延迟甚至宕掉的情况。
为了解决上述问题我们需要通过分布式缓存将数据均衡、有序的分布在各个服务器上。
但当服务器增加时,取模余数发生改变导致访问服务器编号发生改变,程序无法正常访问,缓存失效,造成缓存雪崩。
这时候可以通过一致性哈希解决哈希算法缺陷问题,通过算法取模将服务器 A、B、C、D 映射到 0~2^32 的圆上(值域),同样方式将数据 01、02 也映射到圆上,遇到的第一个服务器即为图片缓存位置,当你增加/减少机器时,其他机器在环上的位置并不会发生改变,有效避免了缓存雪崩的情况。
参考资料: