需要使用一致性雜湊嗎?

來源:互聯網
上載者:User
在普通的雜湊中,如果節點個數(分母)發生變化,原先的次序會被完全打亂重來,一致性雜湊解決了這個問題。實際可看成普通的雜湊對著的是物理節點,而一致性雜湊對著的是虛擬節點,這裡可以拿實體記憶體和虛擬記憶體來對比,虛擬節點是可認為是使用不完的,掛了一個節點,還可以認為節點數不變,因此雜湊的對應關係仍保持不變,也就不存在普通雜湊的問題了。
沒有深入的瞭解一致性雜湊,但我認為一般的叢集系統使用一致性雜湊並非最優的選擇。在一些系統中,我採取了另一種更傻瓜式的辦法,基本不涉及到演算法二字。仍然將物理節點看成取之不盡的虛擬節點,仍雜湊成若干份(比物理節點數大百倍,甚至萬倍,每一份可以看成原子不可再分隔的),可以將每一份看成為一個麻將子,最複雜的演算法就是已知節點數的情況下,如何去均衡的分配這些麻將子,而同時又儘可能的減少資料對應關係的變化,要做到這一點非常容易,只需要維護一個分配表即可,這裡有一個前提:需要一個集中的改變分配關係的節點。
實際即使使用一致性雜湊,也需要一個集中的改變分配關係的節點,因為某個節點自作主張選擇的下一節點,也許並非可靠的,因為也許剛好它們之間的網路是通的,但和其它一些可能並不通,因此仍需要一個仲裁節點來發布指令。
從上面的理解來看,使用一致性雜湊並不是最簡單的均衡和容災策略。什麼情況下必須一致性雜湊了?
討論:http://bbs.hadoopor.com/thread-1841-1-1.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.