一致性HASH算法

用來解決分佈式系統中,HASH節點發生變化對原有分配策略產生的影響,使對原有分配策略的影響是局部性的,達到實現動態擴充節點的目的。使用這種算法時,需要針對某一個節點的數據做局部的調整。

關鍵是環型的節點結構,及一致性的HASH算法策略,如下:
1. 首先檢查虛擬節點當中是否有與當前對象Hash值相等的,如有則直接將對象存入那個Hash值相等的節點,後面的步驟就不繼續了.
2. 如沒有,則找出第一個比當前對象Hash值要大的節點,(節點的Hash值按升序進行排序,圓環上對應按照順時針來排列),即離對象最近的節點,然後將對象存入該節點.
3. 如果沒有找到Hash值比對象要大的Server,證明對象的Hash值是介於最後一個節點和第一個節點之間的,也就是圓環上的E和A之間.這種情況就直接將對象存入第一個節點。

發佈了67 篇原創文章 · 獲贊 4 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章