При использовании round robin DNS у вас появляется возможность поставить в соответствие одному имени несколько адресов IP, например 192.168.1.1 и 192.168.1.2 одновременно. В ответе на запрос клиента round robin DNS вернет оба адреса, причем в случайной последовательности. Машина, которая посылала этот запрос, сама должна решить, как ей интерпретировать полученный список адресов. Чаще всего используется первый адрес из списка (именно поэтому последовательность задается случайным образом). То есть одна половина ваших посетителей будет работать с сервером 192.168.1.1, а другая — с сервером 192.168.1.2. Главная проблема связана с поддержкой концепции round robin промежуточными серверами DNS на пути от ваших клиентов до вашего Web-сайта. На промежуточных серверах, так же как и на клиентской машине, DNS-запросы и ответы сохраняются некоторое время. Какое — определить сложно. Максимальное время кэширования полученного ответа на запрос и время, по истечении которого будет послан вторичный запрос, определяются протоколом DNS. Контролируются эти временные рамки сервером DNS, получившим оригинал ответа. Так что сервер может хранить соответствие имени адресу в течение 5 дней, но осуществить вторичный запрос через два дня. Это означает, что если один из двух серверов будет на некоторое время отключен, то половина пользователей несколько дней будет продолжать обращаться к нему из-за кэширования адресов службой DNS. Кроме того, round robin DNS не способен сбалансировать нагрузку между несколькими Web-серверами, отличающимися своей производительностью. Один из серверов может отвечать на поступающие запросы в два раза быстрее другого, того, который занят в данный момент ресурсоемкими запросами или просто снабжен более медленными аппаратными средствами. Round robin DNS при этом будет продолжать распределять нагрузку между серверами, не принимая в расчет объем их текущей работы. Это приведет к стагнации медленной машины и, одновременно с этим, к простоям в работе более быстрого компьютера. Таким образом, round robin DNS в каком-то смысле распределяет нагрузку, но не исключает из своего списка нерабочие серверы и динамически не распределяет нагрузку в зависимости от текущего времени реагирования того или иного сервера.
Со всеми этими проблемами помогают справиться Внешние распределители нагрузки.