0

我無法找到的ActiveSupport的行爲::緩存:: MemCacheStore都文檔的任何地方,而且我希望這裏有人能提供一些線索。 The rdoc saysMemCacheStore如何真正與多個服務器一起工作?

集羣和負載均衡的一個可以指定多個memcached的服務器,如果服務器宕機MemCacheStore都將加載所有可用的服務器之間的平衡,然後MemCacheStore都將忽略它,直到它回來了。」

確定。我想要最後一個功能,所以如果一個memcache服務器出現故障,整個堆棧不會失敗。但我需要了解負載平衡功能。我認爲這不僅僅是輪詢請求,因爲這會導致不必要的緩存未命中,看來。另外,我使用的會話內存緩存,所以我不希望有人登錄到突然沒有會話,因爲內存緩存客戶端「負載平衡」是請求不具有會話的服務器...

有人可以幫我理解「負載平衡」功能的工作原理嗎?

回答

3

據我所知,它使用散列機制來確定其內存緩存服務器發送請求。散列機制使用,如果當通過鍵相同的散列方法所要求的值會告訴軌道正確內存緩存服務器從獲取數據被這樣存儲的密鑰值對的密鑰。

這意味着,如果一個內存緩存服務器死機,你將失去的數據是上緩存的比例(即在3服務器配置,如果一臺服務器死了,你會失去你的緩存的33%)

編輯:請參閱http://www.ruby-forum.com/topic/100104以獲得比我剛剛給出的更好的解釋。

+0

偉大的描述,非常有意義。感謝您的描述和參考。 – Joshua 2011-04-20 20:02:13

相關問題