一致性雜湊

2021-08-19 20:13:58 字數 672 閱讀 7930

一致性hash演算法主要為解決在動態變化的cache環境中

4個定義:

1、平衡性。盡量保證各key能夠平衡分配到其他每個節點。

2、單調性。盡量保證當節點發生變化時,最少的節點資料的遷移變動。

3、分散性。分布式環境中,

4、負載性。

分布式集群中,對機器的新增刪除是最基本的功能,當有節點新增刪除時,盡量避免原有key值的資料遷移而無法找到。

環形hash空間

建立乙個環境的hash空間,有2的32次方個桶空間,它們邏輯上形成乙個環形。

把資料通過hash演算法對映到環形上:

hash(key1) = hash1

hash(key2) = hash2

hash(key3) = hash3

將機器按某個特徵(如ip,機器名等)同樣對映到環上:

hash(host1) = hash1

hash(host2) = hash2

hash(host3) = hash3

如此,將機器和物件處於同乙個雜湊空間中,然後可按照順時針或逆時針將key儲存到對應的host機器上。

這樣就保證了對節點的新增或刪除操作能避免大量的資料遷移。

一致性雜湊為保證平衡性,引入了虛擬節點的概念。

虛擬節點是實際節點在hash空間的複製品,避免節點過少導致出現失衡的情況。

一致性雜湊

直接貼出一篇介紹的很清楚的博文。關鍵字一致性雜湊 平衡性,單調性,分散性,負載 其實說白了,就是解決把請求分散到不同的機器上運算,怎麼做分散的平均,機器少一台多一台,或者壞掉一台,成很好的自適應和拓展。最簡單的實現分布式演算法,取模嘛,但是它就上述的一些問題,所以不算好的雜湊函式。一致性雜湊演算法,...

一致性雜湊

from 學習分布式,一致性雜湊是最最基礎的知識,所以要理解好.那什麼是一致性雜湊呢?what 1.平衡性是指 hash的結果應該平均分配到各個節點,這樣從演算法上就解決了負載均衡問題.2.單調性是指 在新增或者刪減節點時,同乙個key訪問到的值總是一樣的.3.分散性是指 資料應該分散的存放在 分布...

一致性雜湊

一致性 雜湊演算法在1997年由 麻省理工學院提出 參見擴充套件閱讀 1 設計目標是為了解決網際網路中的熱點 hot spot 問題,初衷和 carp十分類似。一致性雜湊修正了carp使用的簡單雜湊演算法帶來的問題,使得dht可以在p2p環境中真正得到應用。雜湊演算法 編輯 一致性雜湊提出了在動態變...