Round-Robin DNS is a simple mechanism for managing DNS load balancing. This task is not done through hardware but via a DNS server known as an authoritative nameserver.
When you deploy Round-Robin in a DNS server, this will save different A records. Each of them has different IP addresses, but all with the same domain name. Every time this DNS record is requested, it will deliver a response (IP address) by its order. And every IP address used to respond to a request will be put at the end of a line to be used again. You have multiple IP addresses working on a constant rotation cycle.
This mechanism is really useful if you have your website’s content hosted on different redundant servers located at separate points of the globe. The authoritative nameserver will use this rotation cycle to answer with a different IP address. By doing so, it will load balance the traffic.
Why load balancing matters?
Load balancing is a mechanism to optimize the performance of a network. A specific algorithm is defined to administrate the traffic between several servers. The main objective is to balance the traffic through redundant systems, offering better performance and uptime.
In case a server in the network is not available, others are for sure working and ready to manage that traffic.
Load balancing benefits: faster load time, outage defense, a decrease of server load, etc.
Pros of Round – Robin DNS
- Round-Robin’s implementation is easy.
- It’s is an affordable solution.
- It’s really useful for managing DNS traffic. The traffic can be redirected to other servers. It can totally reduce stress at specific points of the network.
- Optimizing the traffic management, the network gets less saturated, which means better general performance.
Cons of Round – Robin DNS
- It’s helpful but sometimes, maybe not enough. It will work rotating its multiple IPs cycle, but it can’t check if the servers are up. Then it can be redirecting traffic to a down, sluggish or troubled server.
- It balances the traffic while rotating the address records order every time a domain is requested, but it doesn’t consider factors like server load, transaction time, or network load.
- The combination of two factors, DNS record cache, and user-side address cache/reuse, can be hard to manage.
- It can’t guarantee that the server corresponding to every given IP really works or is available every time the user requires it. So if the server (one of the IPs) is not working, without an extra tool to warn you about this fail, DNS still will use the IP in its rotation. Visitors will continue trying to reach a non-active service.
What is better than Round-Robin DNS?
The good news is that Round-Robin DNS itself can be better. There are ways to overcome its limitations.
DNS Global Server Load Balancing (GSLB) can provide better alternative to the Round-Robin DNS IPs cycle. You can also find this feature as GeoDNS or traffic director with similar implementation.
One choice is DNS GSLB enabled in the authoritative DNS server to check the server’s availability. It can also work in a recursive DNS server, closer to the users.
Modified DNS servers, like the Ibnamed, load-balanced DNS servers enabled in Perl language, can check load factor and servers’ availability as a part of their routine. Then, when a server doesn’t work, it is canceled from the DNS pool just until it normally works again.
Edge DNS GSLB is a recursive solution that helps to check the network’s record availability from the users-side.
Round-Robin DNS is a basic but efficient and affordable way for load balancing your domain traffic and network’s load. Just consider that it works so much better in combination with alternative tools to expand its possibilities.