3

We are testing out Traffic Manager to see if it is a viable solution for failover. If our primary Azure region becomes unavailable for any reason, we want end users to be directed to a secondary location where they can continue using the site.

I have followed the documentation for setting this up and have 3 simple API return pages as endpoints in 3 different regions that simply alert which one you are hitting. I have them prioritized, 1, 2 and 3.

When hitting the .trafficmanager.net URL, the primary is displayed as it should. All 3 show "online" in the traffic manager profile. If I stop the primary site, then refresh my browser, I get a 403 error stating that the site has stopped.

I set the TTL in the traffic manager profile configuration to 60 seconds. However, after 15+ minutes, the browser still displays the 403. The only way I seem to be able to get the secondary site to pull up is by starting a new browser session. It's like there is some sort of caching and/or TTL issue with the browser session that prevents it from trying the secondary site.

This obviously wouldn't be acceptable in a live, production environment. There has to be a way around this, right? Has anyone else dealt with this issue?

David Makogon
  • 69,407
  • 21
  • 141
  • 189
JCM
  • 31
  • 1

2 Answers2

0

The browser might be using Keep-Alive

Keep in mind that Azure Traffic Manager works at the DNS level so, rather than using a browser to get a repro, try to get a repro with some DNS tools like dig, nslookup, etc.

Alb_Erc
  • 1
  • 2
  • Thanks for you response. This does appear to be what is happening. But this wouldn't be an acceptable failover option for an application that is browser based. We need a solution in which the end user is unaware there was ever a problem, rather than one where they must be instructed to start a new browser session if the site goes down. Maybe this is just something that hasn't been implemented by Microsoft yet. Hopefully they will make some improvements soon. – JCM Feb 09 '17 at 13:23
  • Not sure if this falls into Microsoft's domain, but I believe you can disable Keep-Alive wherever you host your website. For example, check out this post on how to do it in ASP.NET: http://stackoverflow.com/questions/1975983/how-can-i-disable-http-keep-alive-in-asp-net-mvc – Alb_Erc Feb 19 '17 at 13:49
0

This isn't just a browser setting. Your IIS Manager could be considered to use keep-alive to reduce strain on itself, thus leaving open connections that completely bypass the Traffic Manager's DNS rules. I had these exact same symptoms, and was able to alleviate them by following steps I posted here. Whether it'll prove useful in a real-world scenario has yet to be seen, but I'm hoping this will help you get further.

dornadigital
  • 167
  • 13