Apache-2.2
Web 伺服器的高可用性和複製
我有一個像這樣的 3 層網路解決方案:
- 具有負載平衡 + 代理 + 靜態內容的前端
- 後端有 2 個 Apache Web 伺服器,每個伺服器服務於不同的站點
- 將內容推送到 apache Web 伺服器的發布系統
因此,我正在為後端的 Web 伺服器開發具有高可用性的解決方案。我的想法是在後端伺服器之間複製內容,如果一個失敗,另一個將為所有站點提供服務(這可以是手動的或使用 Heartbeat)。
問題是這些站點在總大小和文件數量方面都很大。我嘗試使用 rsync 在伺服器之間複製內容,但這需要很長時間。我也想過使用 NFS 來共享內容,但這不是高可用性的選項。另一種方法是發布系統將內容推送到兩個 Web 伺服器,但是如果我將另一個 Web 伺服器放在後端會發生什麼?
有一個更好的方法嗎?我不需要兩台伺服器同時提供相同的內容,但是必須同步相同的內容。
您確實應該考慮使用多節點文件系統(例如 OCFS 或 GFS)的 DRBD(基於 TCP/IP 的 RAID-1)。
您還可以考慮獲得一個 SAN,您也可以在該 SAN 上放置這些文件系統中的任何一個。
使用 SAN 而不是 NFS 伺服器,RAID 將處理高可用性。
您可以將 HAProxy + Keepalived 用於負載均衡器。對於複製,請考慮光鏈路,如果乙太網不能滿足您的需求。RSync 是非常有效的 IMAO(使用壓縮數據的“-z”選項,它發現它非常有效)。至少,如果您想要高性能,您可以將兩個 Apache 作為 VM 託管在同一台伺服器上,並添加一些帶有漂亮 RAID 卡的漂亮磁碟(15K rpm)。這應該為您提供您正在尋找的可用性