如何以最小的开销实现主从?

如何以最小的开销实现主从?

我有 2 台机器(Linux 机器运行我的 cpp 应用程序)。关于应用程序:应用程序根据某些逻辑从 NFQUEUE 收集数据包并记录它们。该应用程序是无限循环运行的简单 cpp 应用程序。该应用程序需要支持 500MbpS 的带宽。机器没有 ip。它们是网络上不可见的侦听器(识别一些业务逻辑日志记录)。

我希望拥有对性能影响最小的主从系统。

我希望所有数据包都发送到机器 A,如果机器 A 上的应用程序停止工作(我需要您的建议,如何最好地发出信号表明应用程序停止工作),数据包应该路由到机器 B。我不想连接两台机器,解决方案不能是单点故障。我需要一些类似旁路的东西,如果设备崩溃,数据包仍然会通过它。

有没有办法在硬件或较低的网络层中做到这一点(不想在第 7 层做到这一点)。

硬件成本(主/从“切换”限制为 1500 美元)。

答案1

有一个带端口镜像的交换机,可以一直向两台机器发送流量。同时使用乌卡普/保持活跃/心跳在活动节点上打开/关闭应用程序。您将需要服务器之间某种通信方式来发出信号,表明谁是活动节点;您可以让它通过单独的接口流动[甚至两个盒子之间的交叉电缆]。

答案2

使用keepalived

这将实现“共享” IP 地址。IP 每次只能分配给单个主机。

从你的例子来看,假设主机A有 IP.1和主机有 IP .2。您可以创建共享地址.3。而A是主控它将同时具有.1.3。当机器A死亡后将.3过渡到

相关内容