
我正在開發一個基礎設施,其中 http 流量由 httpd 伺服器反向代理。我們希望繼續使用 httpd(而不是考慮 Nginx),因為我們在這個平台上配置了許多虛擬主機。
現在我想在反向代理部分新增HA和負載平衡功能。如果我創建一個主動-主動集群,我需要一個像 DNS 循環這樣的解決方案,我不希望將其視為我的第一個選擇(因為它很難獲得)。
配置一個HAProxy 主動-被動叢集(具有浮動ip)、負載平衡(在tcp 模式下,等級4)一個httpd 主動-主動叢集、進行真正的http(s) 反向代理,這會是一個好的解決方案嗎?透過這種方式,我將實現以下目標:
- 哈。 HAProxy 是容錯的,所以 httpd 的
- 負載平衡。 httpd 是負載平衡的(主動-主動)。 HAProxy 不是(一台主機處於活動狀態),但我假設,它在處理流量方面會比 httpd 更好地擴展,一個節點就足夠了
- 透過 TCP 中的 HAProxy 負載平衡,我可以將所有 http 和 https 配置保留在 httpd 端。
這種方法有什麼缺點或更好的解決方案嗎?
答案1
賽,
聽起來你已經想出了一個明智的解決方案。您正在描述應用程式叢集的典型 HA 負載平衡器部署。 HAProxy 在您需要時為您提供了很大的靈活性,並且 TCP 直通模式非常好且簡單。
唯一的問題是可靠維護 HAProxy 叢集會增加複雜性。我想你會使用 Keepalived 嗎?
在 Loadbalancer.org,我們目前使用 Heartbeat (HA-Linux),但很快就會轉向我們自己的 Pulse HA 系統,支援跨多個負載平衡器的主動/主動。