2

我正在构建一个客户端-服务器应用程序,并且正在考虑向客户端添加故障转移,以便在服务器关闭时它会尝试连接到另一个可用服务器。是否有任何标准或规范涵盖服务器故障转移?我宁愿采用现有的标准,也不愿实施我自己的机制。

4

3 回答 3

1

我没有,或者需要有。这很简单,完全取决于您如何连接到服务器,但基本上您需要继续发送 pings/keepalives/heartbeats 无论您想调用什么,以及何时发生故障(或 n 连续失败,如果您想要)更改配置中的开关。

通常,上述内容将作为客户端计算机上的单独服务运行。或者,您可以创建一个方法执行处理程序来处理您进行的所有服务器调用的执行,并在通信失败时,在您的“catch”块中,在配置中轻弹您的开关

于 2009-09-09T22:40:24.360 回答
0

你的问题很笼统。以下是一些一般性答案: Google for Fault Tolerant Computing

谷歌高可用性解决方案

于 2009-09-09T22:26:17.460 回答
0

这通常在负载平衡器或服务器级别处理。这不是您通常在客户端的代码中执行的操作。

通常情况下,您的服务器多宿主,每个服务器都有自己的 IP + 一个在所有服务器之间共享。此外,它们通过 tcp 相互通信,以便通过心跳知道哪个是主动/被动集群中的主动节点。

我不知道你有什么类型的服务器,但大多数 Windows 服务器都可以本机执行此操作。

您可能会考虑在 serverfault 上提出问题,以了解如何正确配置您的服务器以支持此功能。

于 2009-09-09T23:03:07.760 回答