一致性Hash

一致性Hash是分布式架构最重要最基础的东西,这里以分布式图片缓存服务器为例进行讲述。

原始问题:假设我们需要对一堆图片做缓存,缓存的图片放在了2台服务器上,当到来一个请求,应该如何知道请求的图片在哪台上面呢?

暴力遍历就不要去想了,否则缓存就没有意义了。一个自然的想法就是根据图片的名字做一个映射(Hash),将图片名字映射到0,1两个数字上面,例如有这样的映射函数:

$$ f(图片名称) = md5(图片名称) \% 2 $$

阅读更多