壹致哈希是壹種特殊的哈希算法,由於其均衡持久的映射特性,被廣泛應用於負載均衡領域。例如,nginx和memcached都采用壹致哈希作為集群負載平衡方案。
壹致散列算法的目標是當k個請求鍵發起請求時。在後臺添加或刪除節點只會導致K/N的鍵被重新映射。即壹致哈希算法,當後臺節點穩定時,同壹個鍵的每個請求都映射到同壹個節點。當背景節點增加或減少時,該算法試圖將K個鍵映射到與以前相同的節點。
優勢
可擴展性。壹致性哈希算法保證了在增加或減少服務器時數據存儲的變化最小,與傳統哈希算法相比大大節省了數據移動的開銷。
更好地適應數據的快速增長。壹致性哈希算法用於分發數據。當數據不斷增長時,壹些虛擬節點可能包含大量數據,導致虛擬節點上的數據分布不均勻。這時候就可以拆分包含更多數據的虛擬節點了,只需要把原來的虛擬節點壹分為二,不需要重新哈希,也不需要把所有數據都拆分。
虛擬節點拆分後,如果物理服務器負載仍然不均衡,只需要調整部分虛擬節點在服務器間的存儲分配即可。這樣可以隨著數據的增長動態擴展物理服務器的數量,而且成本比傳統哈希算法重新分配所有數據要小得多。
以上內容參考:百度百科-壹致哈希