【问题标题】:How do I get Azure Traffic Manager to work as a failover for two Web Apps?如何让 Azure 流量管理器作为两个 Web 应用程序的故障转移?
【发布时间】:2017-03-26 17:04:24
【问题描述】:

我在 Azure 中设置了两个 Web 应用程序。在我在生产中做任何事情之前,我现在只是用它来测试流量管理器,所以我创建了两个“假”应用程序来试用它。

我在以下 URL 的门户中添加了流量管理器:

http://mbfakesite.trafficmanager.net

我将端点 1 列为第一个 Web 应用,将端点 2 列为第二个,我使用的是优先级方法。

当我停止 Azure 中的第一个 Web 应用程序并转到流量管理器 URL 时,我收到 403 错误页面。我想要发生的是默认为第二个端点。

最终目标是让 MVC 应用程序在与生产网站不同的服务器上运行。当生产服务器关闭(备份和所有)时,它应该默认为在单独的服务器上运行这个“故障安全”应用程序,就像最坏的情况一样。

如果有所不同,用于测试的两个 Web 应用程序都托管在 azurewebsites.net 和流量管理器中,一个被列为 Azure 端点(第一个),另一个被列为外部端点。

我也尝试添加到 web.config,正如有人在我发现的另一篇文章中建议的那样,但它没有任何改变。

任何人有任何想法,或者我们可以为此使用流量管理器的替代品吗?

谢谢!

【问题讨论】:

    标签: azure azure-traffic-manager


    【解决方案1】:

    虽然另一个答案中给出的时间表大部分是正确的,但它忽略了流量管理器如何运作的一些基本方面。

    由于流量管理器仅更改 DNS 规则,因此它仅在您的浏览器实际检查该规则时才有效。不幸的是,现代网络通信有许多捷径,其中一种被称为“保持活跃”。

    在我更进一步之前,我为您的症状找到的解决方案是

    1. 远程进入您的节点
    2. 打开 IIS 管理器
    3. 在“IIS”下打开“HTTP Response Headers”
    4. 点击右侧的“Set Common Headers”,取消勾选keep-alive选项

    请注意,这将导致流量管理器的点击次数增加。基本上,这需要浏览器检查 DNS 规则并在每个连接上打开一个新连接。这是必需的,因为这些打开的连接可以在 TTL 持续时间和任何 DNS 缓存破坏之后继续存在。实际上,可以通过点击刷新来进一步扩展这些打开的连接。与您想要的完全相反。

    我知道这个答案对您来说可能为时已晚,所以我很抱歉。但是,我认为它值得一个答案。

    【讨论】:

    • 谢谢。我知道为那家公司工作的时间更长,所以我现在无能为力,但很高兴知道。
    【解决方案2】:

    根据官方文档,它应该路由到最近(就延迟而言)可用的 DC。

    https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods

    您能否尝试此处描述的测试故障转移: https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-testing-settings

    【讨论】:

    • 我逐步尝试了该测试,但没有成功。仍然从第一个 IP 获得 403。
    【解决方案3】:

    当我停止 Azure 中的第一个 Web 应用程序并转到流量管理器时 URL,我得到一个 403 错误页面。我想要发生的是默认为 第二个端点。

    Azure 流量管理器用作 DNS 级别的负载平衡器。 Azure 流量管理器包括内置端点监控和自动端点故障转移,它会定期检查每个端点的健康状况,包括不健康的端点。这些 DNS 缓存 效果对所有基于 DNS 的流量路由系统都很常见,因此 DNS 级别的负载平衡器无法立即切换到另一个可用站点。

    流量管理器监控设置也会影响切换到另一个可用站点的时间。
    以下时间线是对流量管理器监控过程的详细描述。

    更多关于azure traffic manager monitor的信息,请参考link

    【讨论】:

    • 我检查了链接,根据文档,如果它得到的响应不是 200 响应,这是真的,它会以 10 秒的间隔再尝试 4 次,然后转移到第二个端点。所以这应该最多需要70秒。我关闭了应用程序,等了大约两个小时,仍然没有骰子。我也尝试过其他设备,因为如果我在同一个浏览器会话中,它也可能不会转移,但我得到了相同的 403 响应。
    • 哪种方法?为了测试,也许我们应该用另一台电脑浏览它。
    • 我确实使用了另一台电脑。我很确定流量管理器不是我正在寻找的解决方案
    • 如果您的 Web 服务器在同一位置,我建议使用负载均衡器,并在负载均衡器公共 IP 地址中添加 FQDN。
    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多