我们有一个服务器环境,其中包含两个不同的虚拟机,每个虚拟机运行在.NET中创建的Windows服务的子集(总共大约50个拆分)。我正在寻找的是在其中一个虚拟机出现故障时自动启动其他虚拟机的最佳方式。
我们需要此解决方案的原因是我们在云(MS Azure)上运行这些虚拟机,这些虚拟机可以半定期重新启动。这些服务也很难实现为实际的水平扩展系统(尤其是遗留服务)。因此,我们所追求的本质上是一种冗余系统。
我们已经考虑过使用我们的集中式SQL数据库(也在Azure上)自己做一个自定义解决方案,但我们更愿意使用现有的解决方案。 谷歌在这个话题上收效甚微。到目前为止,我们发现的唯一工具允许使用Docker和一些扩展。但Docker还有许多我们不需要的功能,并且具有非常重要的进入障碍(但显然仍然是一种选择)。
答案 0 :(得分:1)
您可以使用Azure自动化使用服务轮询VM,并在服务脱机时,在另一个VM上执行X. Azure最近发布了Task Watcher(自动化的子集),可以用1分钟的粒度进行轮询。请注意,它是在预览中,但它会为您提供您今天没有的东西。