Performance

如何以最小的成本實現主從?

  • July 18, 2012

我有 2 台機器(linux 機器執行我的 cpp 應用程序)。關於應用程序:應用程序根據一些邏輯從 NFQUEUE 收集數據包並記錄它們。該應用程序是在無限循環中執行的簡單 cpp 應用程序。應用需要支持500MbpS的頻寬。機器沒有ip。它們是網路上某種不可見的偵聽器(辨識一些業務邏輯日誌記錄)。

我希望擁有對性能影響最小的主從。

我希望所有數據包都將發送到機器 A 並且如果機器 A 上的應用程序停止工作(我需要您就如何最好地發出應用程序停止工作信號的建議)數據包應該路由到機器 B。我不想連接兩台機器,解決方案不能是單點故障。如果設備崩潰數據包仍然通過它,我需要繞過它。

有沒有辦法在硬體或較低的網路層中執行此操作(不想在第 7 層執行此操作)。

硬體成本(主/從“開關”限制為 1500 美元)。

有一個帶有埠鏡像的交換機,可以一直向兩台機器發送流量。同時使用ucarp / keepalived / heartbeat在活動節點上打開/關閉您的應用程序。您將需要伺服器之間的某種通信方式來指示誰是活動節點;你可以讓它通過單獨的界面流動

$$ even crossover cable between both boxes $$.

使用keepalived.

這將實現一個“共享”IP 地址。一次只能在一個主機上分配 IP。

從您的範例開始,假設主機A具有 IP.1並且主機B具有 IP .2。您可以製作共享地址.3。雖然A是主人,但它同時擁有.1.3。當機器A死亡時,.3將過渡到B

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