admin / 12.12.2017

Round robin

DNS сервер — это первый узел, который принимает запрос от посетителя и возвращает IP-адрес приложения. После этого браузер посетителя посылает HTTP запрос на сервер приложения и получает ответ.

IP адрес указывается в A записи домена, например так:

Обычно указывается одна А запись, следовательно DNS всегда возвращает один и тот же IP адрес. Однако существует возможность изменять отдаваемый IP адрес. Это позволяет направлять разных посетителей на разные сервера с одного домена.

Round Robin

DNS позволяет указывать более одного IP адреса в А записях:

В этом случае, разные клиенты будут получать разные IP адреса при обращении к нашему домену. Это позволит распределить нагрузку между несколькими серверами, которые обслуживают приложение. Round Robin предполагает, что IP адреса будут выдаваться по очереди (сначала первый, потом — второй и т.п.). Однако, это нигде не стандартизировано, поэтому не стоит на это полагаться.

IP адреса доменов кэшируются в локальных DNS’ах. При выходе из строя одного из серверов, будет длительная задержка перед тем, как обновятся все кэши. Поэтому схема Round Robin должна использоваться совместно с механизмами обеспечения отказоустойчивости.

Устанавливайте небольшой ttl для А записей, чтобы иметь возможность быстро их изменять. Оптимальные значения — несколько минут.

Geo DNS

DNS сервера также позволяют отдавать разные IP адреса для клиентов на основе их местоположения. Это очень полезно для сайтов с высоким разбросом географии посетителей.

Допустим у Вас есть существенное количество посетителей из США и Европы, а сервер приложения находится только в Европе. Тогда будет полезно сделать копию сервера в США. При обращении посетителей из США, отправлять их на сервер в США. Из Европы — на сервер в Европе.

Эту возможность используют при построении CDN.

Bind GeoDNS

Для популярного сервера BIND существует GeoDNS Patch. Он позволяет указывать различные настройки для зон на основе геоданных. В качестве базы геоданных используется Max Mind:

Самое важное

Используйте DNS Round Robin для распределения нагрузки между несколькими серверами. Устанавливайте небольшой ttl, а также ознакомьтесь с балансировкой нагрузки на фронтенды.

В результате неравномерного распределения питания потребителей между трансформаторами подстанции неравномерно распределяется загрузка кабельных линий, питающих те или иные приемники электрической энергии. Из-за этого по ряду потребителей существует превышение норматива по потерям на 1 км кабельной линии. Данные потери считаются нерациональными, но их можно избежать – перераспределить нагрузку между вводами силовых пунктов. Данное распределение должно быть по возможности равномерным. В результате реализации данного мероприятия уменьшаются не только потери в кабельных линиях, питающих конкретный потребитель, но и потери электрической энергии, обусловленные несимметричной загрузкой фаз самой линии.

14. Релейная защита силовых трансформаторов

В релейной защите электроустановок защитные функции возложены на реле, которые служат для подачи импульса на автоматическое отключение элементов электроустановки или сигнала о нарушении нормального режима работы оборудования, участка электроустановки, линии и т. д.

Реле представляет собой аппарат, реагирующий на изменение какой-либо физической величины, например тока, напряжения, давления, температуры.

Планирование процессов

Когда отклонение этой величины оказывается выше допустимого, реле срабатывает и его контакты, замыкаясь или размыкаясь, производят необходимые переключения с помощью подали или отключения напряжения в цепях управления электроустановкой.
К релейной защите предъявляют следующие требования:
селективность (избирательность) — отключение только той минимальной части или элемента установки, которая вызвала нарушение режима;
чувствительность — быстрая реакция на определенные, заранее заданные отклонения от нормальных режимов, иногда самые незначительные;
надежность — безотказная работа в случае отклонения от нормального режима; надежность защиты обеспечивается как правильным выбором схемы и аппаратов, так и правильной эксплуатацией, предусматривающей периодические профилактические проверки и испытания.

Необходимая скорость срабатывания реле определяется проектом в зависимости от характера технологического процесса. Иногда для сведения до минимума ущерба от возникших повреждений релейная защита должна обеспечивать полное отключение в течение сотых долей секунды.

По своему назначению реле разделяют на реле управления и реле защиты.
Реле управления обычно включают непосредственно в электрические цепи и срабатывают они при отклонениях от технологического процесса или изменениях в работе механизмов. Реле защиты включают в электрические цепи через измерительные трансформаторы и только иногда непосредственно. Они срабатывают при неформальных или аварийных режимах работы установки. Реле характеризуется следующими показателями:
уставка — сила тока, напряжение или время, на которые отрегулировано данное реле для его срабатывания; напряжение (или ток) срабатывания — наименьшее или наибольшее значение, при котором реле полностью срабатывает; напряжение (или ток) отпускания — наибольшее значение, при котором реле отключается (возвращается в исходное положение); коэффициент возврата — отношение напряжения (или тока) отпускания к напряжению (или току) срабатывания. По времени срабатывания различают реле мгновенного действия и с выдержкой времени.

15. Режимы работы и регулирование мощности компенсирующих устройств

Задание питающей энергосистемой двух значений входной реактивной мощности, которые могут быть переданы предприятию в режимах наибольшей и наименьшей активных нагрузок системы, соответственно Qs1 и Оэ2 (причем Оэ2 = 0 практически во всех случаях), предопределяет необходимость регулирования потребления реактивной мощности предприятием в течение суток.
Для регулирования потребления реактивной мощности используется автоматическое регулирование возбуждения синхронных машин и регулирование батарей конденсаторов.
Регулирование конденсаторами реактивной мощности может вестись только ступенями путем деления батарей на части. Чем больше число таких ступеней, тем совершеннее регулирование, но тем больше затраты на установку переключателей и защитной аппаратуры. Обычно мощность батарей конденсаторов разделяется на две ступени:

1. базовую QK 6аз, равную реактивной нагрузке предприятия в часы минимума активных нагрузок энергосистемы, включенную постоянно;

2. регулируемую QK per = QKy — QK 6аз, включаемую в часы максимальных активных нагрузок энергосистемы.

Ступенчатое регулирование батарей конденсаторов может производиться как вручную, так и автоматически. Автоматическое регулирование конденсаторных батарей может производиться в функции:

1. напряжения;

2. тока нагрузки;

3. направления реактивной мощности относительно направления активной мощности;

4. по времени суток.


Рис. 5. Схема влияния установки компенсирующих устройств на параметры режимов электрической сети

Поэтому на напряжении до 1 кВ для коммутации БК обычно применяют контакторы, на напряжении выше 1 кВ — воздушные, элегазовые или вакуумные выключатели. Для устранения переходных процессов при коммутации БК вместо выключателей можно использовать тиристорные ключи, которые позволяют включать конденсаторы в тот момент, когда мгновенное напряжение на конденсаторах равно напряжению сети, и отключать их, когда мгновенное значение тока в конденсаторах равно нулю.

16.

 

 


Читайте также:

Балансировка сетевой нагрузки

Основная задача кластера балансировки сетевой нагрузки (Network Load Balancing Cluster, NLB) — обеспечение  оптимальной загрузки серверов при минимально-необходимом времени отклика прикладных сервисов информационной системы во всех географических точках, где они должны быть доступны пользователям. Балансировка нагрузки достигается путем разгрузки запросов на несколько параллельно-установленных серверов. При этом технологии реализации балансировки могут быть различными.

К приложениям, требующим балансировки, как правило, относят наиболее типовые Web-серверы, серверы электронной почты и DNS-серверы, которые обслуживают сеть Интернет и корпоративные сети организаций. Помимо этого многие прикладные программы и инфраструктурные сервисы также могут поддерживать возможность балансировки, для чего они должны удовлетворять следующим требованиям:

  1. Согласованность данных на всех параллельно-доступных серверах.
  2. Целостность асинхронных и длительных по времени транзакций.
  3. Поддержка приложением системной инфраструктуры балансировки нагрузки.

Согласованность данных — основная проблема, так как все серверы должны выдавать одинаковые ответы пользователям на один и тот же запрос. При этом, если данные изменились на одном сервере, то они должны быть реплицированы на остальные сервера. А в зависимости от требований к времени обновления реплик на серверах технологии реализации согласования данных могут сильно отличаться: от переноса данных оператором системы на диске до организации масштабной системы онлайн-кластеризации и репликации данных (как в поисковых Web-площадках). Фактически, данную задачу должно решать прикладное программное обеспечение, но ни в коем случае не «железо» (зачастую при закупке оборудования предприятием допускается такая ошибка).

Целостность транзакций — одна из наиболее сложных проблем при организации NLB-кластера. В NLB-кластерах возможны ситуации, в которых приложение, начиная работу с одним сервером кластера, завершает её на другом сервере. Очевидно, что необходимо обеспечить целостность данных и корректность завершения транзакции.

Особое значение эта проблема имеет при организации сетей с балансировкой нагрузки и отказоустойчивостью маршрутизаторов и брандмауэров.

Инфраструктура балансировки сетевой нагрузки обеспечивает равномерное распределение заявок пользователей между серверами системы балансировки. Общая схема системы балансировки приведена на рисунке:


Рис.1. Типовая система балансировки сетевой нагрузки

Различают следующие уровни реализации NLB-системы:

  1. Сетевой уровень. Поддерживается на уровне операционной системы и реализован в Windows Server Network Load Balancing. Суть подхода заключается в логическом объединениии всех интерфейсов серверов под один IP-адрес в сети, при котором серверы договариваются между собой о порядке обслуживания запросов. Существует два способа реализации этого подхода:
    • Unicast mode. В случае unicast mode на всех серверах NLB-кластера настраивается один виртуальный MAC-адрес, что позволяет организовать прием пакетов на все интерфейсы кластера. В этом случае узлы кластера не могут обмениваться информацией между собой с использованнием таких интерфейсов.

      Round-robin scheduling

      Для этого обычно организуется дополнительная административная сеть или сеть доступа к данным, в которую узлы подключаются дополнительными интерфейсами (см. рис.1.).

    • Multicast mode. В этом случае передача пакетов на узлы кластера организуется посредством коммутатора, который должен поддерживать multicast mode. В этом случае на интерфейсах кластера задействуются штатные MAC-адреса и поэтому серверы могут взаимодействовать друг с другом, используя эти же интерфейсы.
  2. Уровень службы имен интернета DNS. Данная служба позволяет преобразовывать имена компьютеров вида «comp2.domain.net» в IP-адреса вида «192.168.200.201» и наоборот для коммуникаций по протоколу IP. Для балансировки нагрузки в службе DNS для одного имени типа «comp2.domain.net» настраивается несколько IP-адресов, а также опция «round robin», которая устанавливает порядок выдачи адресов для DNS-запросов по кругу. В результате, каждый клиент, по мере выдачи запросов на одно имя на DNS-сервер, будет получать разные IP-адреса, а значит, подключаться к разным серверам.
  3. Уровень приложения. Данный подход реализуется в прикладном программном обеспечении и может не зависеть от инфраструктуры (уровней 1 и 2). Примерами таких приложений являются Active Directory, Microsoft Exchange Server, WINS, Kaspersky Administration Kit, корпоративные распределенные системы учета и т.п., в которых реализация носит индивидуальный характер.

Планирование NLB-решения предполагает принятия решений по следующим вопросам:

  1. Количество пользователей и интенсивность запросов, которое влияет на загрузку серверов.
  2. Географическая распределенность.
  3. Объем данных.
  4. Подход к реализации балансировки нагрузки.
  5. Разработка технологии репликации данных на серверах.
  6. Требования к отказоустойчивости.

Инструменты для настройки производительности Web-сереров

Индустрия электронной коммерции продолжает развиваться, и сегодня все новые компании начинают общаться со своими клиентами с помощью Web. Высокопроизводительный сайт, способный предоставлять материалы быстро и без сбоев, не только помогает привлекать новых клиентов. Он становится важнейшей предпосылкой успешной деятельности предприятий электронной торговли и повышения их конкурентоспособности. Едва ли потенциальные клиенты когда-нибудь вернутся на раздражающе «тихоходный» узел, где посетитель подолгу ждет реакции на свой запрос, а то и вовсе остается без ответа. Вот почему при планировании инфраструктуры узла Web в любой организации мерам по повышению его производительности следует уделять особое внимание.

Существует несколько способов повышения быстродействия сайта: можно увеличить полосу пропускания, установить высокопроизводительное сетевое оборудование, разработать эффективные приложения для Web, оптимизировать и модернизировать программные и аппаратные компоненты Web-сервера, а также взять на вооружение технологию кэширования в среде Web.

Еще один способ повышения производительности узла Web состоит в том, чтобы увеличить количество Web-серверов и сайтов и размещать на них «зеркальные» копии материалов. Таким образом можно распределить общую нагрузку по всем компонентам системы и сократить время возврата информации при выполнении сервером внутренних процедур обработки клиентских запросов. При этом сохраняются и существующие серверы, поскольку выводить их из эксплуатации и заменять новыми не придется.

Распределение, или выравнивание нагрузок, приходящихся на несколько серверов, позволяет избежать такой ситуации, когда передаваемые по сети Web пакеты лавиной обрушиваются на один сервер, в то время как другие простаивают без дела. Для распределения нагрузки между Web-серверами обычно используется функция DNS, именуемая циклической выборкой (round-robin feature), которая предусматривает возможность круговой передачи IP-адреса любого Web-сервера, составляющего сайт, любому клиенту; в итоге все Web-серверы становятся в равной степени загружены трафиком. Однако этот механизм недостаточно эффективен в тех средах, где возможности аппаратных и программных компонентов отдельных Web-серверов неравнозначны. Понятно, что в среде с распределенной нагрузкой оснащенная двумя 450-мегагерцевыми процессорами Pentium III и памятью емкостью 1 Гбайт система под управлением Windows 2000 Server может взять на себя более тяжелую ношу, нежели система Windows NT Server с одним 300-мегагерцевым процессором Pentium II и 256 Мбайт памяти. Однако с точки зрения процедуры циклической выборки службы DNS между этими системами нет никакой разницы; более того, данная функция «не имеет представления» о доступности того или иного Web-сервера, поскольку не может определить, работоспособен компьютер или вышел из строя.

Не так давно поставщики наладили выпуск систем балансировки нагрузки — программных продуктов, которые выравнивают нагрузку, распределяя ее по нескольким серверам. Кроме того, они повышают отказоустойчивость Web-серверов: в случае отказа одной машины направляют пакеты данных на другой сервер или сайт. Таким образом, время ожидания сокращается, а число необработанных запросов сводится к минимуму. Системы балансировки нагрузки можно использовать как при наличии лишь одного Web-сайта, так и при работе с целым рядом узлов. Получив представление о том, что такое системы балансировки нагрузки и как они работают, можно определить наиболее важные их характеристики, которые следует учитывать при выборе средства выравнивания нагрузки.

Что такое система балансировки нагрузки

Рис.2 Система балансировки для одного сайта.

Система балансировки нагрузки Web-серверов — это инструментальное средство, предназначенное для переадресации клиентских запросов на наименее загруженный или наиболее подходящий Web-сервер из группы машин, на которых хранятся зеркальные копии информационного ресурса. Клиент не подозревает о том, что обращается к целой группе серверов: все они представляются ему в виде некоего единого виртуального сервера. Предположим для примера, что мы обслуживаем один Web-сайт и имеем при этом два Web-сервера: web1.acme.com с IP-адресом 193.168.36.1 и web2.acme.com с IP-адресом 193.168.36.2. Эту конфигурацию иллюстрирует Рисунок 2. Представляя наш сайт пользователям Internet, система балансировки нагрузки использует имя виртуального компьютера (пусть это будет имя www.acme.com), а также виртуальный IP-адрес (VIP-адрес — скажем, 193.168.35.10). Чтобы связать имя виртуальной системы и соответствующий VIP-адрес с двумя нашими Web-серверами, мы должны опубликовать имя системы и ее VIP-адрес на сервере DNS. Система балансировки нагрузок постоянно контролирует нагрузки и степень готовности каждого из Web-серверов. Когда на узел http://www.acme.com/ заглядывает посетитель, его запрос поступает не на один из Web-серверов, а в систему балансировки нагрузки. Эта система и принимает решение о том, на какой сервер направить запрос. При этом она руководствуется такими критериями, как загрузка каждого подопечного сервера, а также соблюдает условия и правила, сформулированные администратором. Затем система балансировки нагрузки направляет запрос клиента соответствующему серверу (как правило, она же направляет ответ сервера клиенту, но это зависит от конкретной реализации).

Системы распределения нагрузки могут к тому же обеспечивать выравнивание нагрузок нескольких Web-сайтов. Напомню читателям, что применение нескольких сайтов позволяет размещать серверы-«дублеры» (зеркальные Web-серверы) ближе к посетителям сайта и сокращать задержки при обмене информацией между сайтом и клиентами. Кроме того, при наличии нескольких Web-сайтов появляется возможность равномерно распределять нагрузку между ними, а также обеспечивать высокую степень их готовности и отказоустойчивость в случае нарушений в работе сайта (будь то по причине сбоев в системе энергоснабжения или из-за потери связи с Internet в вычислительном центре). При наличии нескольких сайтов, как показано на Рисунке 6, все системы балансировки нагрузок на всех сайтах имеют одно общее имя виртуальной системы, но разные VIP-адреса. Так, системе балансировки 1 на сайте 1 в Нью-Йорке присвоено имя виртуальной главной машины http://www.acme.com/ с VIP-адресом 193.168 .35.10. А балансировщик 2 на сайте 2 в Лос-Анджелесе, пользующийся тем же именем виртуальной главной машины, имеет уже другой VIP-адрес — 193.200.1.10. Связи всех систем балансировки с локальными Web-серверами устанавливаются так же, как и в случае с одним сайтом. Наряду с мониторингом нагрузок локальных серверов системы балансировки обмениваются со своими «коллегами» на других сайтах информацией о конфигурации и загрузке; при этом проверяется и степень готовности сайта. В итоге все системы балансировки имеют в своем распоряжении общую картину распределения нагрузок и готовности к работе различных узлов. При наличии нескольких сайтов системы балансировки нагрузок часто параллельно выполняют еще одну задачу: берут на себя роль серверов DNS, обслуживающих имя виртуальной системы. Получив через DNS сигнал от клиента, указавшего данное имя, система балансировки возвращает клиенту VIP-адрес сайта, наиболее подходящего с учетом текущего уровня нагрузки, степени удаленности от клиента и других параметров. Затем клиент автоматически получает доступ к этому узлу.

Рис.3 Система балансировки для нескольких сайтов.

Системы балансировки нагрузок делятся на три категории: аппаратные устройства (hardware appliances), сетевые коммутаторы и программные решения. Системы балансировки на базе аппаратного устройства можно рассматривать как «черный ящик»; обычно это функционирующая под управлением UNIX или фирменной ОС машина с процессором Intel, на которой установлена разработанная поставщиком система балансировки нагрузки. Такие системы соответствуют спецификации Plug and Play (PnP), что облегчает работу администраторов узлов Web. Для реализации систем балансировки на базе сетевых коммутаторов используются коммутаторы второго и третьего уровня. В отличие от аппаратных решений эти системы не предусматривают установки дополнительных устройств, через которые Web-серверы подключаются к коммутатору. Если при организации службы распределения нагрузки в пуле Web-серверов используются программные продукты, то можно обойтись без модификации имеющихся сетевых средств и оборудования.

Программные пакеты устанавливаются на существующих Web-серверах или на специальных серверах выравнивания нагрузки.

Вне зависимости от того, к какой категории относится та или иная система балансировки нагрузки, она выполняет следующие задачи: контроль за нагрузкой и состоянием серверов, правильный выбор сервера, который будет отвечать на запрос клиента, и управление трафиком между клиентом и сервером. Сейчас я подробнее расскажу о каждой из этих функций и о том, как их реализуют средства балансировки.

Мониторинг состояния серверов

Система балансировки нагрузки постоянно отслеживает уровень нагрузки и состояние вверенных ей Web-серверов с тем, чтобы на основании собранной информации в любой момент предоставить клиенту доступ к тому серверу, который сможет наилучшим образом ответить на его запрос. При этом используется два метода контроля: внешний мониторинг и внутренний мониторинг.

При проведении внешнего мониторинга система балансировки нагрузки рассчитывает время отклика сервера, для чего направляет на сервер запрос и замеряет время ответа.

Самая простая техника выполнения внешнего мониторинга сервера предполагает использование ping-тестов по протоколу управления сообщениями Internet Control Message Protocol (ICMP). Эти тесты позволяют системе убедиться в готовности сервера к работе и узнать, сколько времени необходимо для передачи информации с сервера на систему балансировки и обратно. Если система балансировки нагрузки не получает отклика от сервера после нескольких последовательных запросов, считается, что данный сервер недоступен. Как правило, администраторы подключают Web-серверы непосредственно к системе балансировки нагрузки, поэтому если время, затрачиваемое на передачу, слишком велико, система заключает, что сервер работает с большой нагрузкой.

Здесь, однако, надо отметить, что в ходе ping-тестов сервера по протоколу ICMP диагностируется только стек протоколов IP; описанный метод не дает представления о состоянии стека TCP, который используется протоколом передачи гипертекста HTTP. Чтобы убедиться в правильности функционирования стека TCP сервера, средство балансировки нагрузки предпринимает попытку установить соединение по протоколу TCP, для чего требуется осуществить состоящий из трех этапов обмен подтверждающими сообщениями. Делается это так. Сначала средство балансировки нагрузки направляет серверу TCP-пакет, в котором значение бита SYN установлено равным 1. Если после этого система балансировки получает от сервера TCP-пакет, в котором значение бита SYN равно 1, а значение бита ACK тоже установлено равным 1, она направляет серверу второй TCP-пакет со значением бита SYN равным 0 и значением бита ACK равным 1. Если обмен подтверждающими сообщениями завершился успешно, значит, TCP-стек сервера функционирует нормально. По завершении такого обмена средство балансировки нагрузки немедленно разрывает соединение с сервером, чтобы исключить непроизводительное использование его ресурсов. Качество TCP-соединения с сервером оценивается системой по такому показателю, как время, необходимое для выполнения всех трех этапов обмена подтверждающими сообщениями.

Наряду с тестированием стеков протоколов лучшие средства балансировки нагрузки могут обеспечивать мониторинг времени отклика и готовности как самого Web-сервера, так и установленных на нем приложений еще одним способом: на сервер направляется запрос по протоколу HTTP на получение информационных материалов или адреса URL. Пусть именем начальной страницы сервера web1.acme.com будет index.htm. Система балансировки нагрузки на Рисунке 2 может инициировать предусмотренную по протоколу HTTP команду Get, запрашивая тем самым у сервера web1.acme.com содержимое страницы index.htm. Если код возврата, направляемый системе Web-сервером, будет 200, значит, начальная страница на сервере web1.acme.com недоступна. Время отклика определяется системой балансировки нагрузки как время с момента отправки запроса на предоставление информации до момента получения кода возврата.

Однако при том, что внешний мониторинг дает возможность получить о сервере полезную информацию, как метод диагностики он имеет свои недостатки. О таких существенных характеристиках сервера, как состояние центрального процессора, памяти, системной шины, шины ввода/вывода, сетевой интерфейсной платы, а также о ряде важных ресурсов системы и прикладных программ администратор имеет лишь отрывочные сведения или вообще никаких. Подробную информацию о нагрузке сервера может предоставить только внутренний мониторинг. Для его выполнения в системе балансировки нагрузки предусмотрены специальные агенты внутреннего мониторинга, которые устанавливаются на каждом сервере. Агент постоянно контролирует состояние своей «среды обитания» и сообщает о нем средству балансировки. Многие поставщики предлагают инструментальные средства для работы со сценариями, которые позволяют администраторам создавать утилиты внутреннего мониторинга для Web-приложений. Внутренний мониторинг широко применяется в программных системах балансировки, но в аппаратных устройствах и в решениях на базе коммутаторов этот метод диагностики реализуется редко.

Выбор сервера

С учетом информации, полученной в ходе внешнего и внутреннего мониторинга серверов, система балансировки нагрузки может выделить сервер, который способен лучше других справиться с обработкой клиентского запроса. Если рабочие характеристики аппаратных и программных компонентов всех серверов пула равнозначны, можно настроить систему балансировки нагрузки так, чтобы она выделяла сервер для обработки очередного запроса по принципу кругового списка, учитывая при этом состояние сервера. Но если система балансировки управляет как сервером с процессором Pentium III, так и еще одной машиной, на которой установлен процессор Pentium Pro, существует возможность отрегулировать эту систему для работы в другом режиме: более мощному серверу будет доставаться большее число запросов. Иначе говоря, речь идет о том же принципе кругового списка, только с учетом весовых коэффициентов.

Современные системы балансировки нагрузки позволяют администратору определять правила выбора сервера по своему усмотрению. Можно, к примеру, включить в эти правила такие критерии, как коэффициент загрузки ЦП и памяти, число открытых соединений TCP и количество пакетов, поступающих на сетевую интерфейсную плату того или иного сервера.

Формула, по которой система балансировки определяет уровень загруженности серверов, может выглядеть примерно так: (10 * уровень использования ЦП) + (3 * уровень использования памяти) + (6 * число открытых TCP-соединений) + (3* число переданных пакетов) = загрузка сервера. При получении запроса от клиента система балансировки нагрузки рассчитывает по этой формуле нагрузку каждого сервера и направляет запрос серверу с наименьшей нагрузкой.

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

При организации устойчивого соединения основная задача системы состоит в том, чтобы идентифицировать клиента и связать соответствующий идентификатор с сервером-получателем запроса. Как правило, системы балансировки нагрузки используют в качестве идентификатора клиента применяемый им IP-адрес отправителя. Но все дело в том, что адрес отправителя не обязательно совпадает с реальным IP-адресом клиента. Многие компании и провайдеры, стараясь удержать Web-трафик под контролем и скрыть от посторонних глаз IP-адреса своих пользователей, устанавливают серверы-посредники. И в случае, если на наш гипотетический узел Web поступят запросы от 500 клиентов службы America Online (AOL), а также от 10 клиентов, представляющих другую компанию, баланс нагрузок серверов будет нарушен. Система балансировки свяжет 500 клиентов из AOL, имеющих один и тот же адрес отправителя, с одним сервером, а 10 остальных клиентов — с другим.

Round Robin

К счастью, эту проблему можно решить, если воспользоваться системой балансировки нагрузки, оснащенной средствами идентификации IP-адресов отправителей и номеров портов TCP. Подобные системы способны опознавать клиентов даже в том случае, когда последние выходят в Internet через один и тот же proxy-сервер. Такая идентификация возможна потому, что каждое TCP-соединение имеет уникальный IP-адрес отправителя и номер порта TCP. Еще один способ идентификации клиента, проводящего защищенный сеанс связи по протоколу HTTP, состоит в том, чтобы зафиксировать идентификационный номер сеанса связи пользователя по протоколу Secure Sockets Layer (SSL). Протокол SSL назначает каждому установленному сеансу связи специальный идентификатор, а прикладные программы для виртуальных магазинов часто пользуются этим протоколом. Самое современное средство поддержания устойчивых соединений — это распространяемые по сети Web cookie-файлы. Напомню, что эти файлы содержат как сведения о клиенте, так и другие данные (например, о том, с каким сервером клиент связывался в последний раз). Анализ содержимого cookie-файлов помогает системе балансировки нагрузки идентифицировать клиентов и подбирать для них наиболее подходящий сервер. В число поставщиков систем балансировки нагрузки, оснащенных средствами работы с cookie-файлами, входят такие компании, как Alteon WebSystems, ArrowPoint Communications, F5 Networks и Resonate.

Наконец, существует еще один способ выбора сервера — так называемое непосредственное связывание (immediate binding). В соответствии с этим методом системы балансировки нагрузки подбирают сервер для клиента и направляют запрос на него в тот самый момент, когда система получает от клиента пакет TCP SYN. При этом система балансировки выбирает сервер, руководствуясь заданными правилами распределения нагрузки серверов, а также IP-адресом, содержащимся в полученном от клиента пакете TCP SYN. Этот метод обеспечивает высокое быстродействие, но надо сказать, что при его применении система балансировки просто не успевает проанализировать другую информацию: в частности, идентификатор сеанса связи по протоколу SSL, содержимое cookie-файла, адрес URL и данные прикладной программы.

Чтобы получить более подробные сведения о клиенте и, соответственно, точнее выбрать для него сервер, системе балансировки нагрузки требуется время для анализа информации уровня приложения. При выборе сервера по методу отложенного связывания система балансировки нагрузки принимает решение о назначении сервера лишь по завершении трехэтапного обмена подтверждающими сообщениями и после установки соединения между ней и клиентом. Система может учитывать содержимое публикуемых материалов, если исследует информацию уровня прикладной программы до выбора сервера для клиента.

НАЗАД   СОДЕРЖАНИЕ   ВПЕРЕД

Реклама: настройка переключателя diseqc switch 1.2 позиционера для спутниковых антенн

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*