一致性hash算法主要是在分布式集群产品上。
关于一致性hash算法看过很多次,一直都没有理解,今天又看了一遍,终于有了基本的认识,关于这个算法,主要就是要理解一致性hash环结构,下面这张图是我自己画的
有一个0到2的32次方减一的环,假设开始有3台缓存服务器Server1,Server2,Server3,hash值分别为1000,10000,50000.
有四个key-value需要缓存,key的hash值分别为100,2000,25000,70000,
100,2000离server1最近,缓存到server1
25000离server2最近,缓存到server2
70000离server3最近,缓存到server3
现在新加入一台缓存服务器server4,hash值是30000
那么25000离server4最近,那么进行key-value查找的时候,就会去server4查找,发现server4没有值,那么就会在server4上缓存25000.
从上面的看,新加入一台缓存服务器,并不会影响大部分缓存服务器,只会对新加入的缓存服务器hash值附近的数据有影响。