Dot-Net

Memcached 故障轉移技術

  • January 27, 2010

我們配置了 2 個 memcached 伺服器並使用 Eniym 客戶端。當其中一台伺服器關閉時,該伺服器似乎被添加到 deadServers 列表 (ServerPool.cs) 並嘗試每 10 秒恢復一次伺服器(我們已將 deadTimeOut 配置為 10 秒)。嘗試連接到失敗的伺服器會導致 TCP 超時,頁面需要很長時間才能載入,從而導致糟糕的使用者體驗。

1)解決這個問題的標準方法是什麼?有一些關於從 deadServers 列表中刪除伺服器的文章。這樣做可以嗎?

  1. 推薦的 deadTimeOut 設置是什麼(我理解預設為 2 分鐘,我們在實現中將其更改為 10 秒)

  2. 我是否正確理解記憶體數據不會在伺服器 1 和伺服器 2 之間複製?如果伺服器 1 關閉,那麼它會去數據庫獲取這些值(並且它並沒有真正檢查伺服器 2)?

非常感謝任何幫助。

您的評估大多是正確的。我不能代表您的客戶發言,但停機的伺服器不應該影響您的正常操作。

也就是說,您不希望故障轉移、複製等……您只希望您的客戶端在發生故障時能夠正常執行。

引用自:https://serverfault.com/questions/83613