Форум компании ITRM
Информационные технологии

Начало » Отказоустойчивые системы и резервное копирование » Отказоустойчивые системы » Обеспечение отказоустойчивости сайта и балансировка нагрузки серверов с применением Round-robin DNS (Обеспечение отказоустойчивости сайта и балансировка нагрузки серверов с применением Round-robin DNS)
Обеспечение отказоустойчивости сайта и балансировка нагрузки серверов с применением Round-robin DNS [сообщение #1190] Птн, 05 Август 2011 22:36
Roman в настоящее время не в онлайне  Roman
Сообщений: 4
Зарегистрирован: Июнь 2011
Junior Member
Предпосылки

Если у вас очень популярный сайт, со временем сервер, на котором он расположен, достигнет предельной нагрузки, в результате которой больше не сможет обрабатывать входящие запросы.
На языке IT это явление называется Слэшдот-эффект (мощный всплеск посещаемости веб-сайта). Добавление оперативной памяти, апгрейд процессоров и использование быстрых дисков и шин поможет в краткосрочной перспективе, но в результате вы все равно обнаружите, что одна машина не сможет выдерживать требуемую нагрузку.
Один из способов обеспечения отказоустойчивости сайта - это балансировка нагрузки серверов. Путем добавления второй (или третьей) машины в доступный пул оборудования, вы можете не только увеличить производительность, но и повысить отказоустойчивость сервера. Если у вас есть машина горячего резерва (или несколько), работающая(ие) постоянно, то в случае, когда основной сервер испытывает проблемы, другие могут выполнять его работу без простоя.

Балансировка нагрузки серверов с помощью Round-robin DNS

Возможно, самый простой способ преодоления Слэшдот-эффекта это метод балансировки нагрузки серверов с помощью Round-robin DNS. При этом входящие запросы к веб-сайту могут быть отправлены на любое количество машин.
В BIND 9 есть возможность для одного домена создать несколько А-записей. Например, предположим, что мы используем в файле зоны домена для example.com:

www 60 IN A 10.0.0.1
www 60 IN A 10.0.0.2

При определении А-записи для www.example.com в DNS, в половине случаев пользователи увидят:

host www.example.com
www.example.com has address 10.0.0.1
www.example.com has address 10.0.0.2

.... а в другой половине:

host www.example.com
www.example.com has address 10.0.0.2
www.example.com has address 10.0.0.1

Поскольку большинство приложений используют только первый адрес, возвращаемый DNS, то этот метод работает достаточно хорошо. Запросы распределяются между веб-серверами примерно пополам, и, таким образом, нагрузка на каждый из них уменьшается приблизительно в два раза.
В примере TTL установлен равным 60 секундам, для того чтобы предотвратить влияние кэширующих серверов DNS. Это должно помочь поддержанию более или менее равного количества запросов к каждому серверу.
Технология Round-robin DNS используется для балансировки нагрузки только в случае, когда произведена настройка зеркального копирования (зеркалирования) данных для всех серверов. Если это не так, то браузер может сначала показать одну версию страницы сайта, а после нажатия кнопки «Обновить» - другую.


Оригинал статьи и ссылка на иностранный первоисточник в нашем блоге:
Обеспечение отказоустойчивости сайта и балансировка нагрузки серверов с применением Round-robin DNS

[Обновления: Сбт, 19 Ноябрь 2011 08:40]

Известить модератора

Предыдущая тема: Отказоустойчивость сайта
Следующая тема: Как настроить отказоустойчивый веб-сервер высокой доступности при помощи DRBD и Heartbeat
Переход к форуму: