如何将故障客户端自动重新连接到服务器群集中的另一台服务器?

时间:2012-03-19 08:00:57

标签: client-server distributed-computing

我们有一个客户端/服务器分布式应用程序,其中服务器是用.Net编写的,客户端可以是c ++,php,.net,java,python等。环境中的所有客户端都连接到服务器中的最近1个服务器-簇。服务器正在侦听套接字上的客户端。

因此,当连接的客户端很少说服务器1,而server1发生故障时,来自这些客户端的所有新请求都会失败。我们正在尝试找到一种解决方案,为我们提供Live故障转移支持,连接客户端自动开始将请求发送到群集中的另一台服务器(server2)。

这样做的一种方法是在客户端添加智能,但由于我们的客户端使用各种语言,因此我们不希望在客户端执行此操作。由于各种其他原因,它也是不切实际的。

另一种方法是为群集中的所有服务器提供虚拟IP,让所有客户端连接到此虚拟IP,而不是为其提供不同的物理IP地址。但这种方法的问题是,一旦客户端连接到服务器,就无法将它们切换到下一个服务器。

如果是针对http流量,则网络负载均衡器可以解决我们的问题。甚至Windows故障转移群集似乎也无法解决问题。

任何想法,任何建议?

0 个答案:

没有答案