2009-02-24 64 views
2

問題:我有一個服務器場,它使用非粘性IP和會話服務器維護所有服務器的會話。因此,客戶端返回到哪個服務器並不重要,因爲服務器將始終轉到會話服務器以獲取該客戶端的會話數據。當我將會話服務器關閉時,所有服務器都會丟失會話數據。memcached是否有重新分配其緩存的機制?

此問題的解決方案之一是使用SQL Server作爲會話服務器。這不幸是不可能的。

所以我在思考Memcached。如果我使用memcached管理會話,那麼如果我將其中一個memcached服務器關閉,會話將會丟失。但是,如果我可以針對該服務器發出一個調用,指出「將緩存重新分配給其他服務器」,那麼這應該可以解決問題。

如何將服務器上的memcached緩存重新分配給其他服務器?

回答

1

我不確定memcached中有這樣的功能。但重點是,它是緩存。如果服務器出現故障或重新啓動,可能發生的最糟糕的情況是您得到一些緩存未命中(直到重建)。 Memcached不應該是一個可靠的數據庫(儘管有一個基於memcached的數據庫) - 你的數據應該保持在一個較低的持久化級別,並且當一個緩存服務器在只要它不會使整個緩存失效並且不會經常發生。

相關問題