欧美色图 亚洲|野外口爆视频国产|久久精品视频观看|97精品人人抽插

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解

hash做緩存,假如有三臺服務(wù)器,1,2,3,有三萬張圖片,我想將圖片平均緩存到我三臺服務(wù)器上,一個服務(wù)器大概一萬張,怎么去實(shí)現(xiàn)這個辦法呢,可以用hash來取余數(shù)進(jìn)行操作,加入我們是以圖片的名字作為key進(jìn)行hash計(jì)算,hash (圖片名稱)%N 其中N為我們服務(wù)器的個數(shù),我們將hash(圖片名稱)這一部分進(jìn)行計(jì)算后得到的是一個正數(shù),然后除以服務(wù)器的數(shù)目進(jìn)行取余數(shù),結(jié)果將會是0,1,2三個數(shù),對應(yīng)我們的服務(wù)器的編號,當(dāng)我們作為客戶端去請求圖片的時(shí)候,圖片已經(jīng)進(jìn)行過hash運(yùn)算了,直接找到對應(yīng)服務(wù)器的編號進(jìn)行圖片的訪問,這樣解決了我需要遍歷所有的服務(wù)器進(jìn)行查找。

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  那如果我緩存的服務(wù)器的數(shù)量減少或者增加,如果還是按照原來的算法走,必定會造成緩存數(shù)據(jù)的丟失,會去向后端的服務(wù)器去請求,如果有一臺緩存服務(wù)器發(fā)生了故障,那我原來緩存的位置必定會發(fā)生改變,原來本該運(yùn)算后要進(jìn)行緩存到某一臺服務(wù)器的圖片,現(xiàn)在找不到對應(yīng)緩存服務(wù)器,肯定會發(fā)生緩存的雪崩

  所以出現(xiàn)了一致性hash算法相當(dāng)于將服務(wù)器和圖片分別hash到我的hash環(huán)上進(jìn)行就近緩存,hash環(huán)就是對2^32次方進(jìn)行取模,從0開始一直到2^32,均勻分布在一個圓環(huán)(一個比方),0的順時(shí)針方向的第一位為1,逆時(shí)針方向第一位為2^32,大概如下圖

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  具體就是比方我有三個服務(wù)器A,B ,C對其進(jìn)行 hash (服務(wù)器Aip)%2^32 得出來的一定是一個整數(shù),而且一定是在0--2^32之間,那么這個數(shù)就會分布在hash環(huán)上對應(yīng)的位置,相同的B,C都一樣,假設(shè)我們hash過后ABC的位置如下圖

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  然后我們將需要緩存圖片的key進(jìn)行hash,它的hash值也會分布在我的hash環(huán)上,

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  如上圖,我hash到了A和C之間,圖片的存儲規(guī)則是順時(shí)針方向的存儲,所以應(yīng)該存儲到A,如果有四張的話如下圖

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  那如果我們的hash算法將服務(wù)器和hash的圖片存放位置比較相近,類似于;

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  所有的緩存都集中存儲到了A一臺,只有5到了B,那么這樣A的壓力就不言而喻,沒有均勻可言了,辛虧hash環(huán)可以添加緩存服務(wù)器的虛擬節(jié)點(diǎn),類似于虛擬機(jī),一臺實(shí)機(jī)可以虛擬多臺,類似于這樣:

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  這樣的話就會盡可能的把緩存都均衡放在各個服務(wù)器

  一致性hash算法的優(yōu)勢在哪:一個是當(dāng)我有一臺緩存節(jié)點(diǎn)掛了之后,緩存的存儲不會受太大的影響,

CDN緩存服務(wù)器圖片存儲一致性hash算法的理解-DVBCN

  我們將b節(jié)點(diǎn)拿走,本來要在B節(jié)點(diǎn)存儲的3,因?yàn)檎也坏紹服務(wù)器,而遵循規(guī)則緩存到C,而4的緩存節(jié)點(diǎn)不會發(fā)生改變,這就是一致hash的優(yōu)點(diǎn),如果發(fā)生服務(wù)器的增加或者減少只有部分的緩存會失效,不造成全盤皆輸?shù)目赡?/p>

  一致hash到此結(jié)束。

相關(guān)文章
北京商務(wù)局發(fā)實(shí)施方案:取消IDC、CDN、ISP等電信領(lǐng)域外資股比限制,積極推動外資企業(yè)申請資質(zhì)
北京商務(wù)局發(fā)實(shí)施方案:取消IDC、CDN、I…
阿里云容蓓:DCDN助力云原生時(shí)代的應(yīng)用構(gòu)建及最佳實(shí)踐
阿里云容蓓:DCDN助力云原生時(shí)代的應(yīng)用…
騰訊云程文杰:全球數(shù)字化深度發(fā)展? Tencent Cloud EdgeOne乘風(fēng)而上
騰訊云程文杰:全球數(shù)字化深度發(fā)展? Ten…
中國廣電省網(wǎng)公司罕見取得全國范圍的內(nèi)容分發(fā)(CDN)、互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)資質(zhì)為哪般?
中國廣電省網(wǎng)公司罕見取得全國范圍的內(nèi)…
中國聯(lián)通深夜發(fā)文:與騰訊創(chuàng)投新設(shè)合營企業(yè)將壯大CDN、邊緣計(jì)算產(chǎn)業(yè)鏈
中國聯(lián)通深夜發(fā)文:與騰訊創(chuàng)投新設(shè)合營…
中國聯(lián)通與騰訊公司擬新設(shè)混改公司,發(fā)力CDN和邊緣計(jì)算業(yè)務(wù)
中國聯(lián)通與騰訊公司擬新設(shè)混改公司,發(fā)…
我還沒有學(xué)會寫個人說明!