我们有一组在单台计算机上运行的 WCF 服务,它们共同为 WPF 应用程序提供服务,该应用程序可以在同一台机器上或远程机器上(仅在同一网络内)。我们需要故障转移机制,因此当任何服务崩溃或挂起时 - 我们希望重新启动服务并通过调用适当的方法对其进行初始化。
由于我们不知道为 WCF 服务实施故障转移的行业标准是什么 - 我们已经以这种方式实施。我们启动托管在控制台应用程序中的主 WCF 服务以及另一个辅助 WCF 服务,该服务通过调用给定端点上的公开方法不断检查主 WCF 服务的运行状况。如果主 WCF 服务失败,它将扮演主 WCF 服务的角色并启动另一个辅助 WCF 服务。
上述方法运行良好,但我们看到的唯一问题是内存,因为我们成对启动服务并且每个主机都需要 10MB 内存。
谁能帮我在这种情况下实施故障转移的行业惯例是什么?