Round robin DNS: basic load distribution without a load balancer
Quick answer
Round robin DNS means listing multiple A or AAAA records for the same hostname, so different clients get sent to different servers. Resolvers typically rotate or randomise which address they hand back, spreading traffic across the listed servers without any load balancer in the middle. It's a simple trick, and a limited one.
How it works
Normally a hostname resolves to one A record and one IP address. Nothing stops a zone from listing several A records for the same name instead, each pointing at a different server. When a resolver looks up that name, it gets back the whole list, and most resolvers either rotate through the list or pick an entry at random rather than always returning the first one. Different clients querying at different times tend to end up with different addresses, and traffic spreads across the servers listed as a side effect of how the lookups get answered.
See DNS record types explained for what an A or AAAA record actually is, this technique doesn't need a new record type, just more than one of the ordinary kind on the same name.
Why it's a weak substitute for a real load balancer
Round robin DNS distributes traffic, but it doesn't manage it, and that gap shows up quickly under real conditions.
- No health awareness. DNS has no idea whether a listed server is actually up. If one goes down, its record stays in rotation until someone notices and removes it manually, and every client that gets handed that address during the outage simply fails to connect.
- No session stickiness. There's no concept of routing a given client back to the same server it used last time. Each lookup is independent, which is a problem for anything that keeps state tied to one server.
- Slow to change. DNS answers get cached, by resolvers and by the client itself, for as long as the record's TTL allows. Removing or changing a record doesn't take effect everywhere at once, it takes effect as each cache holding the old answer expires, which can take a while.
- No awareness of load. Rotation or randomisation isn't the same as balancing based on how busy each server actually is. A server already under heavy load gets the same share of new lookups as one sitting idle.
Where it still fits
Round robin DNS is fine for very simple redundancy, spreading read-only traffic across a couple of interchangeable servers where an occasional failed connection during an outage is tolerable. It's not a substitute for actually understanding load balancing, health checks, and traffic-aware routing belong to a different layer entirely. See Understanding load balancing: what it does and how it decides for how that layer works and what it adds on top of what DNS alone can do.