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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.