【问题标题】:Failover between Primary and Secondary Web Server ASP.Net Web Application主 Web 服务器和辅助 Web 服务器 ASP.Net Web 应用程序之间的故障转移
【发布时间】:2015-10-13 03:57:33
【问题描述】:

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

使用 DNSMadeEasy,当主服务器出现故障时,我设置了一个 dns 故障转移,辅助服务器占用。

根据要求,此设置可以正常工作,但还有最后一个问题。

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

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

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

我需要做些什么才能做到这一点?

【问题讨论】:

    标签: c# asp.net dns failover


    【解决方案1】:

    稍微改变你的架构会有所帮助(只要你能做出这些改变):

    1. 在两台 Web 服务器前面放置一个负载平衡器(HAProxy、NGINX 等)。
    2. 两个 Web 服务器上运行 ASP.NET 应用和计费服务。
    3. 重新设计您的计费服务,使其可以同时运行两种服务,而不会受到干扰。

    您已经在运行备用服务器,因此您将获得很多好处:

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

    如果你不能真正改变你的架构,这里有一个想法:

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

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多