0
On a high demand & high throughput website, in order to have high availability, I have three servers that serve queries at mydomain.com. I set three A-records on GoDaddy in order to have a round-robin load balancing on my servers (each having a unique IP, and not hosted on GoDaddy):
A mydomain.com IN 1.1.1.1
A mydomain.com IN 1.1.1.2
A mydomain.com IN 1.1.1.3
Thus, each server should receive 33.3% of the incoming queries.
I was under the impression that, if an HTTP request on 1.1.1.1 fails, then the browser and other apps would retry and eventually reach 1.1.1.2 and 1.1.1.3.
I found out that if server 1.1.1.2 goes down, then some users who previously accessed the website through 1.1.1.2 are never able to reach mydomain.com, even if there are two other servers available. Could it be due to DNS caching on their side? If so... how to solve that? They are never able to reach my site.
Tips:
- The problem has not been reported on browsers but on Linux computers that use NodeJS applications (which use
request
library).
Questions:
- Is GoDaddy DNS management appropriate for what I want to do?
- Is there a better strategy to use to prevent domain downtime?
- Is there a better DNS management platform than GoDaddy?
I have read about other DNS systems which detect when a server goes down and which simply remove that server from its list of A records; this would be an option to solve my issue! But are there options with my current setup on GoDaddy?
Tell me how you manage your domain name high availability.
I'm biased towards Cloudflare in this instance because their site generally can tell when a web server goes offline while making the request to the site. Perhaps they can be of service in this instance. Everything you should need is free with their service should you wish to use it. – Dooley_labs – 2017-09-09T17:23:02.093
2“Could it be due to DNS caching on their side?” No. A query for A records will always result in all three values in random order. Load balancing is not fault tolerance! – Daniel B – 2017-09-09T17:30:19.633
1
I see that you’re an experienced [SE] ([SO]) user, so, even though you appear not to have taken the Super User Tour, you should know that we prefer a maximum of one question per question. Each of your individual questions is too broad, and most of them are primarily opinion-based. And if you can resolve those issues, you might find that your question is more on-topic at Webmasters Stack Exchange.
– Scott – 2017-09-09T21:10:16.8632What you need is a load balancer in front of your site that detects when the http / https responders are down. DNS is a much too "poor man" approach to redundancy / reliability. There are a lot of ways to do this more properly with a load balancing service. Google search is your friend. Try "site reliability engineering". – milli – 2017-09-10T01:17:28.207