採用簡單取模的方式,將機器進行散列,這在cache環境不變的狀況下能取得讓人滿意的結果,可是當cache環境動態變化時,命中率將不盡人意,好比添加或者刪除幾臺機器。html
構建Hash空間 按照經常使用hash算法來將對應的key哈希到一個具備2^32次方個桶的空間中,即0~(2^32)-1的數字空間中。而後將這些數字頭尾相連造成一個閉合的環形。算法
將機器經過hash算法映射到環上 經過使用與對象存儲同樣的Hash算法將機器也映射到環中,而後以順時針的方向計算,將全部對象存儲到離本身最近的機器中。spa
增長虛節點 一致性哈希算法在服務節點太少時,容易由於節點分部不均勻而形成數據傾斜問題。.net
映射虛節點到實際節點htm
參考:http://blog.codinglabs.org/articles/consistent-hashing.htmlhttp://blog.csdn.net/cywosp/article/details/23397179對象