這裡不介紹一致性hash演算法的原理,後面再補充,可以先看下面的文件:
什麼是一致性hash演算法?
該演算法的原理用一句話將就是將伺服器節點分布到乙個環上,必要時需要增加虛擬節點(對映到真實節點),查詢的時候根據hash演算法定位到環上的某個點,然後再順時針找到最近的乙個可用的伺服器節點。(來自上面的鏈結,侵刪)
一致性hash演算法的作用就是,使伺服器失效或者新增時的影響範圍達到最小。如果按照一般的直接根據伺服器數量索引的,假設有4個伺服器,兩個使用者id分別為3和9,此時索引到的伺服器為3號和1號。某個時候2號伺服器失效,則使用者將都被索引到原來的0號伺服器,而該伺服器是沒有這兩個使用者的資料快取的,就需要重新請求了。使用這種hash方式,絕大部分情況下伺服器失效或者新增都會導致使用者被對映到不一樣的伺服器上,這樣子就會導致所有使用者均重新請求資料,從而導致快取雪崩。而一致性hash演算法能夠使的伺服器失效或者新增只影響到這台伺服器及其前面的一台伺服器的使用者資料,因為使用者id是順時針找最近的伺服器節點的。
一致性hash演算法 面試必備 一致性hash演算法
最近公司在招人,我們準備的問題中有一道是關於一致性hash演算法的問題,只有一些面試者能夠回答上來,而且答的也不是很全面,有的面試者只是聽說過,有的連聽都沒聽過,下面我把一致性hash演算法整理一下分享給大家 一致性雜湊演算法在1997年由麻省理工學院的karger等人在解決分布式cache中提出的...
一致性hash演算法虛擬節點 一致性hash演算法
hash 演算法也叫做雜湊演算法,他可以讓任意長度的資料m對映成為長度固定的值h。hash演算法的第乙個作用就是資料的快速儲存與查詢。寫過程式的人都知道,基本上主流的程式語言裡面都有個資料結構叫做map dictionary或者 hash table 它是根據key來直接訪問結果的資料結構。key的...
一致性hash演算法
july部落格16章開始 第一題 全排列,輸入乙個字串,列印出該字串中字元的所有排列 1.個人思路 回溯法建立的排序樹 2.july部落格 遞迴實現,依次固定第乙個字母,後面的交換,和上面描述的使用回溯法相似 c stl 演算法 next permutation的思想,關於next permutat...