1 回答
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
它使用哈希。以最簡(jiǎn)單的形式,想象一下,如果您在密鑰上運(yùn)行像 MD5 這樣的哈希函數(shù),您可以使用第一個(gè)字節(jié)來確定它應(yīng)該去哪個(gè)服務(wù)器。
這很重要,因?yàn)槿绻?2 個(gè)服務(wù)器與多個(gè) memcached 服務(wù)器通信,它們需要可靠地為相同的密鑰選擇相同的服務(wù)器。隨機(jī)是不好的,因?yàn)檫@意味著客戶端可能會(huì)嘗試get()從存儲(chǔ)該項(xiàng)目的不同服務(wù)器進(jìn)行訪問。
如果您有 15 個(gè)節(jié)點(diǎn),并且超過一半的項(xiàng)目存儲(chǔ)在 1 個(gè)節(jié)點(diǎn)中,則您是:1. 極度不走運(yùn)或 2. 某些配置不正確并且您的某些服務(wù)器標(biāo)記為離線。
底層哈希比簡(jiǎn)單的“md5”更復(fù)雜,它使用“一致性哈?!彼惴?。這意味著如果您有 15 個(gè)節(jié)點(diǎn)并丟失 1 個(gè),大多數(shù)密鑰仍將解析到同一臺(tái)服務(wù)器。關(guān)于“一致性哈?!钡奈恼潞荛L(zhǎng),因此應(yīng)該很容易獲得技術(shù)細(xì)節(jié)。
- 1 回答
- 0 關(guān)注
- 168 瀏覽
添加回答
舉報(bào)
