中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一致性hash算法怎么理解

發布時間:2021-12-23 14:08:34 來源:億速云 閱讀:144 作者:iii 欄目:云計算

這篇文章主要介紹“一致性hash算法怎么理解”,在日常操作中,相信很多人在一致性hash算法怎么理解問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”一致性hash算法怎么理解”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一致性Hash的描述

這里簡單的對于Hash算法進行描述,之后,再對一致性Hash算法進行描述。

Hash算法是將任意長度的二進制的值,映射為較短的固定長度的二進制值,這個小的二進制值稱為

hash值。

一致性hash算法

設計的目的是為了解決英特網之中的熱點問題,和一致性hash算法相對應的是CARP的算法,前者是對后者的修正 。

簡單的來說,一致性Hash是將整個Hash值空間組織成為一個虛擬的環,如假設某hash函數 H的值空間為 

0-2……23 -1 . 也就是指代一個32位的無符號的整類,整個Hash空間環如下 :

一致性hash算法怎么理解

簡要來看, 這是一個環,組成環的是每一個點,hash空間,按照順時間方向來組織,0和2^32-1在時鐘零點方向重合,之后,為了確定每臺服務器在空間上的位置,通常而言,會將主機的Host名字,或者Ip地址對每一天服務器進行Hash尋址,

?比如在空間之中有三臺服務,進行Hash尋址,他在空間之中的位置分布如下所示:?

三臺機器,在進行Hash的處理以后。得到了一個地址,這個地址在Hsah環上對應的地址如下所示:

一致性hash算法怎么理解

第一步解決好了,機器怎么存好解決了,那么數據該怎么存?

數據其實和機器一樣,也就是需要使用一個Hash的算法來判斷數據該訪問哪一臺機器,首先,將數據Key使用相同的函數H

來計算出hash值 h,依據 h這個值來確定我們在環上的位置,從此位置沿環 順時鐘的向下的去尋找,遇到的第一臺服務器就是其應存儲的服務器,數據存放在這臺服務器上,比如 下圖,我們有了四個數據,在進行Hash算法的取值以后,在空間上的位置如下:

一致性hash算法怎么理解

一致性Hash映射的一個整體描述圖如下所示:

一致性hash算法怎么理解igz

一致性Hash的容錯性和可擴展性的分析

   傳統的hash算法,存在著容錯性和可擴展性的問題,尤其在增加服務器和減少服務器的時候,如果還要繼續的工作,那么一定需要對算法進行修改。在這一節里,我們將會對一致性Hash算法的容錯性和可擴展性進行介紹。假設Server3 突然停下來,那么就會出現如下的情況:

    機器Server3在集群之中消失了。那么整個topology 結構就改變了,如下所示:

    一致性hash算法怎么理解

 依據一致性的Hash算法, A依然是按照順序時鐘方向找到Server1,BCD這三個數據,將直接放置在Server2之上,先對于ServerB的消失,我們能確定的是,BC的位置依舊是機器3,改變的只是機器2之前的節點,

一致性Hash的算法在集群減少的時候,能將集群的數據變動減小到最小的值。

接下來的情況,我們試圖在 當前的Hash 環的境況之下,添加一臺新的,來看看hash環是如何變化的。

一致性hash算法怎么理解

數據3依舊不變,而數據2將被分布到新添加的節點Server4 之上。

到此,關于“一致性hash算法怎么理解”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海阳市| 广河县| 海口市| 洪泽县| 肥西县| 台北市| 来宾市| 利辛县| 阜新市| 沿河| 巢湖市| 灵武市| 颍上县| 鄯善县| 信丰县| 宝鸡市| 巴马| 宿州市| 梅河口市| 鹰潭市| 成武县| 汝阳县| 韶山市| 奉化市| 铜山县| 江城| 若尔盖县| 荣成市| 大港区| 靖远县| 遵义县| 汾阳市| 宝兴县| 扬州市| 汉阴县| 宁津县| 梁河县| 扶余县| 巴中市| 子长县| 栾川县|