主Web服务器和辅助Web服务器ASP.Net Web应用程序之间的故障转移

时间:2015-07-23 02:41:56

标签: c# asp.net dns failover

我有一个asp.net Web应用程序,它托管在两个不同的服务器上,一个是主要的,另一个是辅助服务器。

使用DNSMadeEasy我在主服务器关闭辅助服务器占用时设置了dns故障转移。

根据要求,此设置正常工作,但最后一次捕获。

我的应用程序使用Windows服务进行计费。

计费服务始终在主服务器上运行,并始终在辅助服务器上停止。

我希望在发生dns故障转移时,它应该自动启动辅助服务器上的计费服务,当dns切换回主服务器时,应该在辅助服务器上停止计费服务。

我需要做些什么来实现这一目标?

1 个答案:

答案 0 :(得分:0)

稍微改变您的架构会有所帮助(只要您可以进行这些更改):

  1. 将负载均衡器(HAProxy,NGINX等)放在两个Web服务器的前面。
  2. 两个网络服务器上运行ASP.NET应用和结算服务。
  3. 重新设计您的结算服务,以便它可以同时从两个服务运行而不受干扰。
  4. 您已经在运行待机状态,因此您可以获得很多好处:

    • 更好的可扩展性:负载在Web服务器/计费服务之间共享
    • 零停机更新:从负载均衡器中逐个删除每个Web服务器,执行更新,然后重新添加到轮换中。
    • 健壮性:如果一个Web服务器出现故障,您将自动拥有一个不必担心DNS TTL问题的架构,并会自动进行故障转移。

    如果你真的无法改变你的架构,那么这就是一个想法:

    侦听对辅助Web服务器的第一个Web请求,然后在服务发生时启动该服务。根据设计方式,您可能需要停止主服务器上的结算服务。

相关问题