[преимущества и недостатки аппаратных распределителей нагрузки]материал подготовил: Марат Давлетханов 08.06.2004
На сегодняшний день существует несколько способов распределения запросов TCP/IP в веб-серверах, состоящих из нескольких компьютеров. Одним из лучших решений являются специальные устройства – аппаратные распределители и переключатели нагрузки. Они имеют ряд преимуществ перед другими схемами – например, перед использованием принципа кругового DNS. А поэтому давайте немного подробнее остановимся на рассмотрении подобных устройств, предназначенных для распределения нагрузки между несколькими компьютерами в составе одного веб-сервера, а также на их достоинствах и недостатках.
Аппаратные распределители нагрузки подключаются напрямую к компьютерам, входящим в состав сервера. А уже к ним присоединяются другие сетевые устройства – в частности, маршрутизатор. Все компьютеры и распределитель являются как бы логической группой, заменяющей обычный веб-сервер. Называется такая группа кластером. Как и простой сервер, весь кластер имеет один IP-адрес. Это большой плюс, поскольку в этом случае замена компьютеров не составит никакого труда, не вызовет проблем с закладками и ссылками в локальных DNS-серверах.
Ну, а теперь давайте разберем алгоритм работы аппаратного распределителя загрузки. Допустим, браузер пользователя присылает запрос на данный сервер. В этом случае устройство выполняет следующие действия:
Выбирает компьютер, на который будет отправлен поступивший запрос (подробнее об этом ниже).
Опрашивает выбранный компьютер и необходимые приложения на предмет их доступности.
Осуществляет преобразование сетевого адреса. Фактически, устройство изменяет заголовки поступающих пакетов таким образом, чтобы они попали на нужный компьютер.
Отправляет запрос на выбранный компьютер.
Получает от компьютера ответ на запрос.
Осуществляет обратное преобразование сетевого адреса. Таким образом, по IP-пакетам невозможно догадаться, что сервер состоит не из одного компьютера.
Отправляет ответ браузеру пользователя.
Естественно, здесь приведена только самая общая схема работы аппаратного распределителя нагрузки. Некоторые устройства, помимо приведенных, выполняют еще ряд действий. Кроме того, многие операции достаточно сложные, а поэтому сами представляют собой интересные алгоритмы. Но подробно останавливаться на этом мы не будем.
Распределитель или переключатель?
Распределитель нагрузки и все компьютеры объединяются в кластер, имеющий один IP-адрес
До этого момента, говоря об устройствах аппаратной балансировки нагрузки на компьютеры в составе распределенного веб-сервера, мы использовали два термина: распределитель и переключатель. Теперь же пришла пора разобраться, “что есть что”. И для начала рассмотрим распределители. Это достаточно сложные и высокоинтеллектуальные устройства. В них заложены сразу несколько схем распределения нагрузки – простой круговой перебор (аналогично круговому DNS), круговой перебор с коэффициентами (каждому компьютеру присваивается весовой коэффициент) и так далее. Но, естественно, наиболее полезной является возможность распределителя самому выбирать наименее загруженный данный момент компьютер. Для этого он анализирует скорость получения ответа от сервера, объем идущего к нему и от него трафика, число соединений, а также некоторые другие параметры.
Кроме того, большим преимуществом аппаратных распределителей нагрузки является наличие функции привязки. Ведь ни для кого не секрет, что одной из самых больших проблем, связанных с