Facebook在Memcached的實際應用中,發現了Multiget無底洞問 題,具體表現爲:出於效率的考慮,不少Memcached應用都已Multiget操做爲主,隨着訪問量的增長,系統負載捉襟見肘,遇到此類問題,直覺通 常都是經過增長服務器來提高系統性能,可是在實際操做中卻發現問題並不簡單,新加的服務器好像被扔到了無底洞裏同樣毫無效果。 html
…… 前端
問題是不少客戶端,包括Libmemcached在內,在處理Multiget多服務器請求時,使用的是串行的方式!也就是說,先請求一臺服務器,而後等待響應結果,接着請求另外一臺,結果致使客戶端操做時間累加,請求堆積,性能降低。 node
選擇特殊鍵值進行散列,『保證相關的鍵只出如今一臺服務器上』。