Load-Balancing

清漆記憶體層與負載均衡器

  • June 24, 2013

我們有大約 10-15 個不同的網站,目前託管在兩台具有 4GB RAM 的 Rackspace 雲伺服器上。這兩個伺服器是完全獨立的,我們為每個新站點隨機選擇一個伺服器。

我們最近推出了一個非常消耗記憶體的新站點,自上線以來已經多次耗盡其伺服器上的記憶體,導致它崩潰。我正在研究為什麼這是在網站本身內。但我也認為我可以對伺服器架構做很多事情。我可以做兩件顯而易見的事情… 設置 Varnish 記憶體(我們擁有的網站類型將從中受益匪淺)。並在兩台伺服器之間設置負載平衡。

為此,我建議我們獲得一個新的雲實例。現在我的問題是如何處理它……

  1. 將其設置為另一台 LAMP 伺服器,並從 Rackspace 獲取負載均衡器(非常便宜)以在所有三者之間進行負載均衡。每個人都執行自己的 Varnish 版本來記憶體站點。

  2. 將新盒子設置為 Varnish 記憶體層,並讓 Varnish 做我們目前擁有的兩者之間的負載平衡。

我真的很喜歡選項 2 的聲音,因為所有的記憶體都會發生在一個地方。我們還可以在 Varnish 中做一些很酷的事情,比如在所有伺服器都關閉的情況下讓它為記憶體頁面提供服務,並且通常具有更大的控制權。大多數網站訪問者都是匿名的,因此可以提供記憶體站點。大多數登錄使用者都是編輯人員,因此優先考慮高可用性更為重要。

但是,就最大化可用資源而言,我不確定最好的做法是什麼。

選擇選項 2,然後使用執行以下操作的機架空間負載均衡器:

  • 如果 varnish 記憶體已啟動並處於活動狀態,則將所有流量定向到 varnish 實例
  • 如果清漆在剩餘的兩個網路伺服器之間進行負載平衡

這可以防止您建構單點故障,但您需要在負載均衡器配置中進行可靠的執行狀況檢查。

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