Networking
故障切換開關
我需要一個伺服器/交換機/某物(我將其稱為“故障轉移交換機”)來執行以下任務。
HTTP
故障轉移交換機後面有兩台伺服器。
- 通常,所有請求都被路由到
server 1
.- 如果伺服器 1 當機(停止
HTTP
及時響應請求),所有請求都將路由到server 2
.server 1
恢復時(開始HTTP
及時響應請求),所有請求都被路由回server 1
.- 故障轉移交換機有一個外部 IP 地址(請求最初到達的地址)。
這件事應該盡可能簡單。
它是如何正確呼叫的,這樣的例子是什麼?
更新:
理想情況下,這不應該有任何活動元件(如
HDD
風扇)。因此,首選專用硬體解決方案。更新 2:
這東西應該是開關,不是平衡器。它應該根據
HTTP
伺服器可用性進行切換,而ARP
不是ICMP
.
您想要的通常稱為負載均衡器。負載均衡器可以以設備的形式出現,例如F5 Big-IP盒,也可以以在商品硬體之上執行的負載均衡應用程序的形式出現。一個例子是HAProxy,巧合的是,它目前正在為所有 StackExchange 站點進行負載平衡。
如果您不想要負載平衡,您所需要的只是一個簡單的故障轉移集群解決方案,它在集群成員之間發送心跳並分配您將用於訪問服務的虛擬 IP 的所有權。那裡有幾十個。
在 Windows 上,事實上的答案是 Microsoft Clustering Services (MSCS),它包含在 Enterprise 和 Datacenter 版本中。在 Linux/Unix 上,您可能想要研究 Heartbeat(簡單,但不是超級可配置)、Pacemaker(強大,但有點複雜)或其他類似系統。