Networking

Network GURUs - IP 故障轉移與負載平衡相結合…..有這樣的軟體嗎?是否可以?

  • November 27, 2011

幾天來,我一直在研究高可用性解決方案,到目前為止,我發現UCARP對於 IP 故障轉移非常有用。

它非常簡單並且可以完成工作。

我正在考慮更進一步:

如果連接共享相同 IP 的兩個節點的路由器****將所有數據包發送到兩個節點(始終),那麼我可以實現更大的負載平衡

這就像一個“master-master”解決方案,而不是“master-backup”。

源 IP 是可分割的。

如前所述*,冗餘組,*比如說兩個這樣的節點,共享一個(“虛擬”)IP。

當它們都啟動時,它們會簡單地劃分客戶端的源 IP(其純數字)並知道如何做出反應。

例如,Node1 獲取除以 2

的 IP。Node2 獲取其餘部分。

客戶端啟動 TCP/IP 連接(通過共享 IP)。

連接兩個節點的路由器將此請求發送給兩個節點。

如果客戶端的 IP 完全除以 2,則 Node1 會回答。

此時 Node2 忽略,因為它知道 Node1。

如果一個節點發生故障,例如 Node1,另一個(Node2)會檢測到它 - 通常,就像 UCARP 一樣!

此時 Node2 將開始為其餘的客戶端提供服務。

當 Node1 返回時,Node2 將停止響應來自可被 2 整除的 IP 的 SYN 請求(TCP/IP 連接啟動的第一步),讓 Node1 繼續服務。

路由器的方向可能會出現一個問題:它需要將每個傳入的數據包發送到冗餘組中的 X 個節點。高(呃)內部網路負載。

另一個可能的問題是每個節點實際上都會收到很多數據包,甚至是它不“想要”的數據包。

對於今天的路由器/網卡,與非常高可用性的好處相比,我認為這是一個非常小的價格。

更不用說在這種情況下,我會利用 100% 的資源(以一種好的方式),而不是擁有一個或多個“備用”伺服器,這些伺服器只不過是“備用”。

我的確切問題是:

1)是否已經有這樣的解決方案?(開源、免費軟體、基於 linux)。

2)路由器可以支持這樣的事情嗎?它應該支持什麼標準?關於這種能力,我會問 DS/VPS 提供商什麼?

無論如何,這是我對這個主題的一些思考。我很樂意得到連結和幾句話支持的簡明答案。不僅如此,顯然歡迎:)

我不認為這是可能/可行的。它絕對不存在,因為與標準方法相比,它的用途非常有限。

我看到的主要問題是跟踪進出的每個 ip 數據包,並以對應用程序完全透明的方式同步兩台電腦上的 IP 堆棧狀態。您如何“模擬”節點 1 上的應用程序完成工作但不回答,或者神奇地拿起節點 2 的狀態?它不能只繼續 nocde 1 應用程序的 tcp 通信而無需…特殊程式。

引用自:https://serverfault.com/questions/335242