Site icon Персональный блог

Балансировка загрузки Web-сервисов с помощью мобильных агентов (окончание)

Диспетчерский подход балансировки загрузки

Рис. 4. Диспетчерский подход балансировки загрузки

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

Рис. 5. Серверный подход балансировки загрузки

Диспетчерский подход (рис. 4) осуществляет отображение адресов на уровне IP. Это необходимо для того, чтобы получить полный контроль над ходом маршрутизацией запросов от клиентов. В подходе определяется группа веб-серверов с однотипным виртуальным IP адресом, который и является IP адресом диспетчера. Диспетчер же действует в качестве центрального планировщика и осуществляет полный контроль над процессом маршрутизации запросов. Диспетчер определяет каждый сервер по адресу и, при необходимости перенаравляет клиентский пакет путем переписи IP адреса. В основе этого подхода лежит механизм основанный на TCP-маршрутизаторе. TCP-маршрутизатор в этом подходе, выполняет роль диспетчера. Основным недостатком этого подхода является накладные расходы на смену адреса.

Однако существует другой способ перенаправления пакетов – перенаправление пакетов на уровне HTTP. В этом случае диспетчер распределяет входящие запросы между серверами через механизмы перенаправленных, что предоставляет протокол HTTP. Диспетчер сможет перенаправить запрос через ответ клиента, а в заголовке ответа указывается адрес сервера. В таком случае, клиент перенаправляет запрос, но напрямик на сервер.

Серверный подход (рис. 5) применяет механизм двухуровневой диспетчеризации. DNS-сервер сначала, определяет сервер куда идет клиентский запрос. После, каждый сервер сможет перенаправить запрос на другой сервер. Таким образом осуществляется децентрализованная стратегия перераспределения нагрузки, в которой все сервера принимают участие в процессе балансирования загрузки. Существует реализация такого подхода на веб-сервере Apache.

Таблица 1. Преимущества и недостатки методов балансировки загрузки, использующие технологию клиент-сервер

 

Эта реализация позволяет выполнить однородное пере распределения HTTP-запросов от серверов к мало используемым. Запрос передается по цепочке функций для принятия решений, которые называются функциями-кандидатами. Каждая функция-кандидат пересортировывает набор доступных серверов и определяет метод перераспределение запроса (HTTP-перенаправление или HTTP-прокси), руководствуясь информацией о свободных ресурсах.

Рис. 6. Балансировка загрузки с использованием мобильных агентов

В таблице 1 представлены преимущества и недостатки методов балансировки загрузки, основанных на технологии клиент сервер. Предложенный в статье метод балансировки нагрузки, с использованием технологии мобильных агентов не имеет указанных недостатков.

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

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

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

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

Использование мобильных агентов повышает надежность веб-систем, так как они могут переносить запросы клиентов от неисправных серверов к активным (те что работают).

Exit mobile version