漫畫(huà)算法:什么是一致性哈希?

https://www.sohu.com/a/158141377_479559

  • 一致性哈希可以有效解決分布式存儲(chǔ)結(jié)構(gòu)下動(dòng)態(tài)增加和刪除節(jié)點(diǎn)所帶來(lái)的問(wèn)題。
  • 把key hash 后數(shù)據(jù)范圍構(gòu)成環(huán)形空間
  • 緩存節(jié)點(diǎn)按ip hash后分布在環(huán)形空間中,數(shù)據(jù)的存放位置為key hash后順時(shí)針最近的緩存節(jié)點(diǎn)
  • 為了避免緩存節(jié)點(diǎn)ip hash后分布不均勻,采用虛擬節(jié)點(diǎn)的方式,每個(gè)物理緩存節(jié)點(diǎn)對(duì)應(yīng)若干個(gè)離散的虛擬節(jié)點(diǎn),找到虛擬節(jié)點(diǎn)再映射回物理節(jié)點(diǎn),環(huán)形中將去掉物理節(jié)點(diǎn),只存在虛擬節(jié)點(diǎn)
  • 新增或刪除節(jié)點(diǎn)引起的數(shù)據(jù)丟失,需要重新從DB查詢(xún)數(shù)據(jù)刷新緩存
  • 為什么一致性哈希算法更多應(yīng)用于緩存數(shù)據(jù)庫(kù)?
    1、分布式緩存系統(tǒng)的節(jié)點(diǎn)部署變化更頻繁,而傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的分庫(kù)分表相對(duì)穩(wěn)定。
    2、關(guān)系數(shù)據(jù)庫(kù)在查詢(xún)不到數(shù)據(jù),相當(dāng)于服務(wù)不可用。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容