Load-Balancing
創建一個只有 2 台伺服器的冗餘環境(因此沒有處理負載平衡的第三台伺服器)
首先,如果這個問題之前已經回答過,我很抱歉,但我已經搜尋了一段時間,似乎無法找到(或理解)答案。
所以,我有兩台裝有 centOS 的物理伺服器。其中 1 個已經託管了一些網站和數據庫。現在我想通過使用負載平衡和故障轉移來創建一個冗餘環境。所以基本上,我想讓兩台伺服器都執行,將工作除以當時打開的連接數量,當其中一個崩潰時,讓另一台伺服器接管所有工作。
我遇到的每個範例在 2 個網路伺服器前面都有一個用於 haproxy 的第三個伺服器。但是只有兩台伺服器是否有可能(例如,通過在兩台網路伺服器上安裝 haproxy)?或者有沒有更好的方法來處理這個問題?
提前致謝。
有多種解決方案。
最簡單的設置可能是這樣的:
- 使用 DRBD 在伺服器之間同步網站數據
- 在兩台伺服器之間執行 MySQL 主從設置。這意味著所有數據庫連接都將轉到一台伺服器。如果那個失敗,你必須切換到從屬(並將其提升為主控)。您可以自動執行此操作。主-主複製可能工作量太大,除非你同時是所有網站的開發者。
- 進行循環 DNS 負載平衡(適用於大多數新瀏覽器,它將繼續嘗試直到找到工作 IP)。另一個解決方案是使用 HAProxy。在這種情況下,一台伺服器還將充當兩台伺服器的負載平衡器。當主伺服器出現故障時,您可以使用 keepalived 自動切換到第二個 HAProxy 實例(在伺服器 2 上)。