Round robin DNS (Round robin DNS)
Эту статью предлагается удалить. |
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Эта статья нуждается в переработке. |
Необходимо проверить качество перевода, исправить содержательные и стилистические ошибки. |
DNS с циклическим перебором — метод балансировки нагрузки или отказоустойчивости при использовании чрезмерного количества серверов, основанный на управлении ответами DNS-сервера в соответствии с определённой статистической моделью.
В простейшем случае циклический DNS работает следующим образом: он отвечает на вопросы не только по одному IP-адресу, но и по списку из нескольких адресов серверов, предоставляющих одну и ту же услугу. Порядок, в котором IP-адреса возвращаются из списка, определяется циклическим алгоритмом, и с каждым ответом последовательность IP-адресов меняется.
Существуют различные подходы к определению того, какие адреса будут использоваться запрашивающим приложением, для чего некоторые серверы пытаются изменить порядок в списке, отдавая приоритет численно "более близким" сетям. Некоторые настольные клиенты пытаются получить альтернативные адреса после сбоя соединения в течение 30-45 секунд.
Циклический DNS часто используется для распределения нагрузки между географически распределёнными веб-серверами. Например, у компании есть один домен и три веб-сайта, расположенные на трёх серверах с тремя разными адресами. Когда пользователь заходит на домашнюю страницу, он будет перенаправлен на первый IP-адрес. Второй пользователь, получивший доступ к домашней странице, будет отправлен на следующий IP-адрес, а третий пользователь будет отправлен на третий адрес. В каждом случае, когда выдается IP-адрес, он отправляется в конец списка, и через него четвертый пользователь снова будет отправлен на первый IP-адрес, и так далее.
Хотя циклический DNS прост в реализации, алгоритм имеет ряд недостатков, связанных с кэшированием иерархических записей DNS, а также с кэшированием опубликованного адреса на стороне клиента и его повторным использованием, что затрудняет управление циклическим DNS.
Кроме того, циклический DNS - не лучший выбор для самобалансировки нагрузки, поскольку он изменяет порядок адресов только при каждом запросе имени сервера. При этом не учитываются IP-адрес и географическое местоположение пользователя, время выполнения, нагрузка на сервер, перегруженность сети и т.д.
Существуют методы преодоления таких ограничений, например, с помощью которых модифицированные DNS-серверы (такие как lbnamed) могут регулярно голосовать за зеркальные серверы, чтобы контролировать их доступность и загрузку. Если сервер отвечает некорректно, его можно временно удалить из пула dns до тех пор, пока он не сообщит, что снова работает в соответствии со спецификацией.