日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一致性哈希

發(fā)布時間:2024/4/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一致性哈希 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一致性哈希設計目標用于解決熱點問題。

一致性哈希需要滿足以下幾個條件: 1:均衡性(Balance),數(shù)據(jù)應該均勻地分布到所有的緩沖中 2:單調(diào)性(Monotonicity),當緩沖發(fā)生變化時,能夠保證部分內(nèi)容被分配到新的緩沖中去(包括原有已分配的內(nèi)容和新加入的內(nèi)容) 3:分散性(Spread),由不同終端映射相同內(nèi)容時,應保證映射到相同的緩沖中,避免發(fā)生不一致的情況。 4:負載(Load),能夠盡量降低緩沖的負荷 5:平滑性(Smoothness),服務器的數(shù)目平滑改變和緩沖對象的平滑改變。

如果通過哈希取余HASH(Object)%N的方式來實現(xiàn)緩存,當某一節(jié)點出現(xiàn)故障時,故障節(jié)點對應的內(nèi)容將無法映射到其他節(jié)點中,而當新增一節(jié)點時,也無法將部分內(nèi)容映射到新緩沖中,因此不滿足一致性哈希的單調(diào)性原則。
為解決上述問題,使用HASH環(huán)來實現(xiàn),按hash后的值查找臨近的緩沖節(jié)點,因此無論是刪除還是新增節(jié)點,都能保證內(nèi)容被影射到特定一個緩沖節(jié)點上。

?

對于上面的實現(xiàn)方式,存在一個問題,當某個節(jié)點被刪除后,該節(jié)點上所對應的緩沖范圍將移動到其鄰居節(jié)點上,導致其鄰居節(jié)點的負載增加;當新增一個節(jié)點后,新緩存節(jié)點只能分擔其鄰居節(jié)點的緩存壓力,不滿足一致性hash的負載性。 為解決節(jié)點變動導致的緩存負載問題,可以采用虛擬緩沖節(jié)點來處理,將hashkey的范圍均分到很多個虛擬節(jié)點上,再將這些虛擬節(jié)點映射到緩沖物理節(jié)點上,
1>當刪除物理節(jié)點時,可以將該物理節(jié)點對應的虛擬節(jié)點均勻地拆分到其余物理節(jié)點上;
2>當新增物理節(jié)點時,可以將其余各個節(jié)點上的虛擬節(jié)點拆分一部分到新物理節(jié)點上;

轉載于:https://www.cnblogs.com/gaogao67/p/10390757.html

總結

以上是生活随笔為你收集整理的一致性哈希的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。