一致性hash 小結

來源:互聯網
上載者:User

基本上,這篇文章已經說得很清楚了。

除了關於“虛擬節點”的這一段不夠嚴謹:

”平衡性是指雜湊的結果能夠儘可能分布到所有的緩衝中去,這樣可以使得所有的緩衝空間都得到利用。

hash 演算法並不是保證絕對的平衡,如果 cache 較少的話,對象並不能被均勻的映射到 cache 上,比如在上面的例子中,僅部署 cache A 和 cache C 的情況下,在 4 個對象中, cache A 僅儲存了 object1 ,而 cache C 則儲存了 object2 、 object3 和 object4 ;分布是很不均衡的。

為瞭解決這種情況, consistent hashing 引入了“虛擬節點”的概念……“

問題不在於如果cache較少,對象不能被均勻地映射到cache上,因為n台cache可以分布在 360 / n 度的位置上,這樣初始狀態好歹是均勻的。但如果隨後節點有增刪,情況就不同了,為了繼續保證單調性,即避免原有資料向原有節點轉移,新增節點肯定負載較輕,而被刪除節點附近肯定有個節點要負重。因此引入虛擬節點,方便從其它各個物理節點上抽一部分(若干虛擬節點)過來補充到新增節點中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.