我想解決一個很好的方法來處理當前使用PHP構建的Web應用程序中的離線/向下memcached服務器。Memcache故障轉移和一致性散列
我剛剛發現這個鏈接,顯示對如何做我想做的做法,我認爲:http://web.archive.org/web/20090421075021/http://cmunezero.com/2008/08/11/consistent-memcache-hashing-and-failover-with-php/
總之,它讓我感到困惑,當我開始使用它,並閱讀與內存緩存故障PHP的機制的文檔。爲什麼離線memcache服務器與在線服務器一起添加到$realInstance
服務器池中?
讀取內存緩存文件混淆我更: http://www.php.net/manual/en/memcache.addserver.php
狀態
控制服務器是否應被標記爲聯機。將此 參數設置爲FALSE並將retry_interval 設置爲-1允許保留在池中的故障服務器爲 ,以免影響 密鑰分配算法。 請求這臺服務器然後將 故障轉移或立即失敗,取決於 上的memcache.allow_failover 設置。默認爲TRUE,這意味着 服務器應該被視爲聯機。
感謝,
嗨!非常感謝您的回答! – Industrial 2010-05-22 17:56:00
@ircmaxell因此,如果池中有2臺服務器,並且有一臺服務器脫機,那麼請求仍然會對脫機服務器發出請求?沒有其他方法可以從memcache中刪除脫機服務器? – 2012-08-02 13:51:34
@Sonesh:您需要將其從池中刪除。但要小心,只要你改變池,緩存哈希映射就會改變(基本上是緩存刷新)... – ircmaxell 2012-08-02 13:55:23