第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

PHP memcached 如何確定在集群中的哪個(gè)節(jié)點(diǎn)上存儲(chǔ)密鑰?

PHP memcached 如何確定在集群中的哪個(gè)節(jié)點(diǎn)上存儲(chǔ)密鑰?

PHP
富國(guó)滬深 2023-04-28 17:18:46
我有一些數(shù)據(jù)要存儲(chǔ)在 memcached 中(使用 PHP libmemcached 客戶端:https://www.php.net/manual/en/intro.memcached.php)。它在我的網(wǎng)絡(luò)應(yīng)用程序中出現(xiàn)得非常頻繁。為了減少單個(gè) memcached 節(jié)點(diǎn)的流量,我在密鑰末尾附加了一個(gè) 1 到 10 之間的隨機(jī)數(shù),希望客戶端不會(huì)將所有密鑰存儲(chǔ)在單個(gè)節(jié)點(diǎn)上。我曾假設(shè)分配密鑰的過程是隨機(jī)的,但在 15 個(gè)節(jié)點(diǎn)中,至少有一半的密鑰進(jìn)入了同一個(gè)節(jié)點(diǎn)。這讓我覺得對(duì)于它如何決定將哪個(gè)節(jié)點(diǎn)用于給定密鑰,有一些更具確定性的東西。有誰(shuí)知道它是怎么做到的?
查看完整描述

1 回答

?
慕桂英4014372

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é)。


查看完整回答
反對(duì) 回復(fù) 2023-04-28
  • 1 回答
  • 0 關(guān)注
  • 168 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)