DNS Round-Robin Failover and Load Balancing – How to Guide

bgpdomain-name-systemfailoverload balancing

Having read all of the questions and answers (1 2 3 and so on) on here relating to DNS load balancing, and Round-robin DNS, there's still a number of unanswered questions..

Large companies, and I'm looking at Google, Facebook and Twitter here, do present multiple A records.
1) If DNS loadbalancing/failover is so dodgy, why do large organisations do it?

There seems to be very little mention of "DNS Pinning", despite this (PDF) paper about it.
2) Why is DNS Pinning so seldom mentioned?

3) Are there any concrete examples of which ISPs and so on actually do rewrite DNS TTLs?

That said, I'm not entirely backing the side for using DNS for failover or any form of load balancing. For most networks, BGP diverse routing still seems to be a better fit.

DNS rears it's ugly head again. 🙁

Best Answer

  1. because it's cheaper and easier than anycasting (BGP) and because it can be implemented entirely on your own hardware
  2. from a load-balancing standpoint, there's very little you can do about the browser caching DNS results in contradiction to your TTL settings.
  3. I'm not sure why ISPs would rewrite TTLs, Most requests will be from browsers, so I'm not sure it would be cost effective for them to invest in the infrastructure to do so.

I use DNS (GSLB actually) over anycasting for a couple of reasons. We've discussed BGP several times over the years, and I choose DNS over BGP because it's easier to do and, in most cases, just as or more reliable. Multiple facilities, clustered DNS servers, combined with proactively monitored GSLB and a TLD hosting service covers most potential faults.