【发布时间】:2017-12-03 16:25:23
【问题描述】:
我们有一个服务器环境,其中有两个不同的虚拟机,每个虚拟机运行我们在 .NET 中创建的 Windows 服务的一个子集(总共大约 50 个)。我正在寻找的是自动启动其他虚拟机上剩余服务的最佳方式,以防其中一个出现故障。
我们需要这个解决方案的原因是我们在云 (MS Azure) 上运行这些虚拟机,这些虚拟机可以半定期重启。这些服务也很难实现为实际的水平扩展系统(尤其是遗留服务)。所以我们所追求的本质上是一种冗余系统。
我们曾考虑使用我们的集中式 SQL 数据库(也在 Azure 上)自行制定自定义解决方案,但如果可能,我们更愿意使用现有解决方案。 谷歌在这个话题上收效甚微。到目前为止,我们发现的唯一允许这样做的工具是使用带有一些扩展的 Docker。但是 Docker 也有更多我们不需要的特性,并且有一个不小的进入门槛(但显然仍然是一个选择)。
【问题讨论】:
-
借助故障转移集群,您可以对 Windows 服务进行集群,这看起来就像您所追求的那样
-
@4c74356b41 据我所知,只有旧版本的 Windows 服务器(~2003)才支持集群,但也许我误读了 msdn 文档:msdn.microsoft.com/en-us/library/ms952401.aspx
标签: .net azure windows-services redundancy