I am looking for DNS hosting that can detect my web server failure and switch to another A record automatically. Also, they should support baisc DNS admin stuff. My domain is currently hosted on name.com. Thanks.
2 Answers
While I'm sure there are some services out there that might do this there is a big issue with doing this.
Scenario
Your primary server goes down. The dns tool sees that and switches the A record to the standby server.
Issue
Some clients have a cache on your hostname and don't see the change till their dns server clears the cache. Now if the service does a low ttl their dns server might not honor that if the ttl is too low.
Bigger Issue
Your primary server's uplink has a hiccup and you lose connection for 10 minutes. DNS service switches to new A record. Now some clients are hitting the secondary and some still trying to hit the primary.. Primary uplink is backup and you have clients hitting 2 server's
Might not be a big deal if everything is static content.. but can be a giant issue if you run a more dynamic site.
-
I haven't running a big site and am thinking that as a way for redundancy. Then I do not need to test it anymore. Thanks. Jan 20, 2011 at 14:08
-
Couldn't the second issue be worked around by using a very low TTL paired with a DNS resolving the IP for the database server? In other words using something like sql.mydomain.com in your connection string. Then it does not matter if the user hits the secondary or primary web server. Both are using the same database. May 29, 2011 at 8:49
Just use a load balancer, it does not matter on what platform, Win or Nix. If the code that is running on your web server does not need sessions to be persistent or you have some strange app the you can use round robin dns. ex: A web1.foo.bar = 1.2.3.4 A web2.foo.bar = 1.2.3.5 cname www = web1.foo.bar web2.foo.bar
so when you try to resolve www.foo.bar it will serve one of the 2 A records
HTH
-
But doesn' that create a single point of failure on the load balancer? May 29, 2011 at 8:49