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

有帮助吗?

解决方案

我不存在,或者需要存在。它非常简单,一切都取决于你如何连接到服务器,但基本上你需要继续发送ping / keepalive / heartbeats,无论你想要调用它们,当发生故障时(或者n连续失败,如果你想要)更改配置中的开关。

通常,上述内容将作为客户端计算机上的单独服务运行。另外,你可以创建一个方法执行处理程序来处理你所做的所有服务器调用的执行,并且在通信失败时,在你的'catch'块中,在config中轻弹你的开关

其他提示

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

Google for High Availability Solutions

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

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

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

您可以考虑在serverfault询问如何正确配置服务器以支持此问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top