DNS
BIND has long had the behavior of responding in round robin fashion when
a DNS zone has multiple CNAME or A records. A query with multiple
records is returned as a list of answers. Typically, the application that
originally made the query just uses the first one from the list.
If the remote DNS server is a modern BIND installation, it will
rotate amongst the list it has cached. This isn't a part of DNS, just
a behavior of BIND; since it's the most widely deployed name server it's
not a bad bet to depend on it.
Anyway, by using low TTL's [1] on the zone records or just
the records that are subject to round robin rotation, we can inform remote
DNS servers that they should keep the response they've received for a short
time.
1] the amount of time before a query answer should be
discarded from the cache, the time-to-live for a record