High-Availability
如何設計高可用系統
假設我有一些 Web 應用程序和一些桌面應用程序在生產環境的伺服器上執行。
在生產環境中,即使是一分鐘的停機時間也是不能容忍的。目前我只知道
HA Cluster system
哪個用於此目的。我想如果這是防止系統關閉的唯一方法,或者除此之外還有其他方法嗎?像Google這樣的大公司使用什麼來實現高可用性,因為他們也不會容忍一秒鐘的停機時間?
謝謝
基本上,您希望對執行應用程序所需的每項服務進行自動故障轉移。
一種解決方案可能是以下描述的方法:
- Keepalived 安裝在兩個系統上。
- HAProxy 作為負載均衡器,故障轉移到 HAP LB 2。由 keepalived 監控
- HAP 背後的 Apache/NGINX。如果其中一個失敗,HAP 將對其進行監控並重定向到另一台伺服器上的 Apache/NGINX
- MySQL Master / Master 複製,負載平衡和 HAP 監控
基本上,HAProxy 將負載分散到您的系統上,並且僅在它啟動並執行時轉發到其中一項服務。
您正在尋找的架構可能如下所示: