Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让Azure Traffic Manager作为两个Web应用的故障切换?_Azure_Azure Traffic Manager - Fatal编程技术网

如何让Azure Traffic Manager作为两个Web应用的故障切换?

如何让Azure Traffic Manager作为两个Web应用的故障切换?,azure,azure-traffic-manager,Azure,Azure Traffic Manager,我在Azure中设置了两个web应用程序。我现在只是用这个来测试Traffic Manager,然后才在生产中做任何事情,所以我创建了两个“假的”应用来尝试它 我在以下URL向门户添加了流量管理器: 我将端点1列为第一个web应用程序,端点2列为第二个web应用程序,我使用的是优先级方法 当我停止Azure中的第一个web应用程序并转到trafficmanager URL时,我得到一个403错误页面。我希望它默认为第二个端点 最终目标是让MVC应用程序在与生产网站不同的服务器上运行。当生产服务

我在Azure中设置了两个web应用程序。我现在只是用这个来测试Traffic Manager,然后才在生产中做任何事情,所以我创建了两个“假的”应用来尝试它

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

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

当我停止Azure中的第一个web应用程序并转到trafficmanager URL时,我得到一个403错误页面。我希望它默认为第二个端点

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

如果结果不同,则用于测试的两个web应用都托管在azurewebsites.net和Traffic Manager中,一个作为Azure端点(第一个端点)列出,另一个作为外部端点列出

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

有人有什么想法,或者交通管理器的替代品,我们可以用它吗


谢谢大家!

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

您是否可以尝试此处所述的测试故障切换:

当我停止Azure中的第一个web应用程序并转到trafficmanager时 URL,我得到一个403错误页面。我想要的是它默认为 第二个端点

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

此外,traffic manager监视器设置将影响切换到其他可用站点的时间。
以下时间线是对traffic manager监控过程的详细描述


有关azure traffic manager monitor的更多信息,请参阅此部分。

虽然另一个答案中给出的时间线基本正确,但它忽略了traffic manager操作的一些基本方面

由于Traffic Manager只更改DNS规则,因此它仅在浏览器实际检查该规则时才起作用。不幸的是,现代网络通信有许多捷径,其中一条被称为“保持活力”

在我继续之前,我找到的解决你症状的方法是

  • 远程登录到您的节点
  • 打开IIS管理器
  • 打开“IIS”下的“HTTP响应头”
  • 单击右侧的“设置公共标题”,取消选中“保持活动”选项
  • 预先警告,这将导致流量管理器的点击次数增加。基本上,这需要浏览器检查DNS规则并在每个连接上打开一个新连接。这是必需的,因为这些打开的连接可以在超过TTL持续时间和任何DNS缓存破坏后继续存在。事实上,通过点击refresh可以进一步扩展这些打开的连接。与你想要的完全相反


    我知道这个答案对你来说可能太晚了,所以我道歉。然而,我认为它应该得到一个答案。

    我检查了链接,根据文档,如果它得到的不是200响应(这是真的),它将以10秒的间隔再尝试4次,然后转移到第二个端点。所以这最多需要70秒。我关掉了应用程序,等了大约两个小时,仍然没有骰子。我还尝试了其他设备,因为如果我在同一个浏览器会话中,它也可能不会转移,但我得到了相同的403响应。哪种方法?对于测试,也许我们应该使用另一台电脑来浏览它。我确实使用了另一台电脑。我非常确定Traffic Manager不是我所寻找的解决方案。如果您的web服务器位于同一位置,我建议使用负载平衡器,并将FQDN添加到负载平衡器的公用IP地址。我一步一步地尝试了该测试,但没有成功。仍然从第一个IP获得403。谢谢。我知道在那家公司工作的时间更长了,所以我现在无能为力,但知道这一点很好。