网络上多台计算机共享的静态 IP

网络上多台计算机共享的静态 IP

我有一个网络设备,可以(手动)配置为将消息发送到单个 IP 地址。在同一个网络上,我有许多机器(ubuntu linux 桌面,配置了静态 IP 192.168.10.101 - 192.168.10.1XX),所有这些机器都可以处理这些消息。

是否有一种机制可以让我配置设备将其消息发送到某个 IP(如 192.168.10.254),然后任何其他机器中有多少会收到消息?这是为了“高可用性”而不是负载平衡,所以我希望答案不是“在 192.168.10.254 添加一台机器并在其上运行 HAProxy”。

我认为不能让每个盒子同时在 192.168.10.254 上添加一个 IP 别名...我猜这会导致奇怪的网络行为/使路由器疯狂?

我是否可以编写一个在每台机器上运行的应用程序,并 ping 192.168.10.254 以查看是否有其他机器正在监听?如果没有,那么它会尝试设置该 IP 别名吗?我猜想典型的分布式系统/竞争条件问题会出现在这里。有没有已经存在用于此目的并已妥善解决了此问题的东西?

答案1

您可以实现自己的穷人解决方案,但您正在寻找的是(基本)集群管理。查看同步心跳

如果你决定实施自己的解决方案,我建议不是使用相同的 IP(即使在 ping IP 后也不会)。考虑到 ARP 缓存和可能的 IP 冲突,这不是一个好主意。您可能希望使用广播地址,并让节点根据其 IP、投票或其他方式决定谁将提供服务。

基本上这就是那些(和其他一些)集群控制器系统所做的,所以我会使用它们。

相关内容