Смешанные решения распределения нагрузки во многомашинной системе

www.karman.com.ua
портал о хостинге в Украине
Хостинг + Украина = Karman.com.ua

Еще глубже

/

Сайт на нескольких серверах


Смешанные решения распределения нагрузки во многомашинной системе 

Еще по теме:
  "1C-Битрикс" выпустила решение для корпоративных порталов
  wwjd.ru - христианская поисковая система
  Не гонят при нагрузке
  Сервера и география - есть ли оптимальное решение?
  Борьба оптимизаторов и поисковых систем
  Информация о SEO – оптимизаци под поисковые системы.
  SEO для начинающих: роботы поисковых систем – это люди
  Различие между оптимизацией под поисковые системы (SEO) и поисковым маркетингом (SEM)

Существуют также смешанные схемы, когда работают вместе аппаратные и программные распределители нагрузки. Рассмотрим следующую конфигурацию:

В системе используется один аппаратный распределитель нагрузки (и еще один запасной) и два кластера серверов, в которых используются программные распределители нагрузки. Аппаратный распределитель понятия не имеет о том, что за двумя IP-адресами скрывается целый отряд машин. Точно также, каждый из кластеров понятия не имеет о существовании своего соседа.

Балансировка

Используя смешанную схему мы можем превысить предел в 32 машины, устанавливаемый программным распределителем. По сути, если предположить, что аппаратный распределитель способен работать с 256 отдельными узлами (вполне реальное предположение), то мы можем расширять мощность своего сайта вплоть до безумного количества машин: 8192 серверов.

Отказоустойчивость

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

Администрирование

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

Пару слов о "привязке" Несмотря на то, что HTTP это stateless протокол, уже изобретено множество хитростей и уловок, что бы сохранять состояние приложения между запросами одного и того же клиента. Например с помощью сессий можно сохранить все переменные и их значения для данного клиента и потом восстановить их при следующем запросе. При использовании одной машины под web-сервер никаких проблем нет, разве что при пиковой нагрузке она может упасть, о чем мы уже рассуждали выше.

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

Для устранения этого недостатка была придумана технология, которая называется "привязка" (affinity). Она отсутствует в переключателях нагрузки (load director), но есть в распределителях (load balancer) как в аппаратных, так и в программных. "Привязка" означает, что по началу сессии клиент направляется на любую машину, и на протяжении всей сессии поддерживает соединение только с ней.

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

Рассмотрим следующий пример. Предположим, что четыре пользователя (A-D) подключатся к Web-сайту, и их запросы равномерно раскладываются между двумя машинами. Теперь предположим, что пользователи C и D тут же отключились, а пользователи A и B продолжают работать в течение длительного времени и выполняют сложные операции. Если мы будем использовать "привязку", все HTTP-запросы сделанные пользователями A и B, будут направляться на сервер А. для пользователей A и B сервер будет работать медленно, в то время как сервер B будет простаивать в ожидании работы.

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

Большинство аппаратных и программных распределителей нагрузки предлагают решение этой проблемы. Они позволяют делать привязку для всего пространства адресов класса С, или 256 различных IP-адресов. Предполагается что большинство клиентов работают через прокси-сервера, у которых адреса располагаются в одном и том же адресном пространстве. Но и здесь есть недостаток: если к вам на web-сайт пожалует группа пользователей из одного сегмента сети, они все будут направлены (из-за привязки к пространству адресов) на одну машину, которая может из-за высокой нагрузки рухнуть.


Чтобы обсудить это в форуме, нажмите здесь.


Хостинг-источник: http://karman.com.ua, htpp://www.webmascon.com/
  Улучшение положения в поисковых системах: недоразумения относительно рейтинга страниц Google
  Как добиться, чтоб Ваш сайт быстро проиндексировали поисковые системы
Есть вопросы о хостинге и о сайтах?
и получи ответ от профессионалов, которые обожают помогать людям :).
Еще по теме:
  Способы улучшения позиций в поисковых системах
  Построение системы ссылок для SEO
  Позиции в поисковых системах, улучшите их
  Каталоги и поисковые системы – сравнительный анализ.
  В системе интернет-адресации ликвидирована важная ошибка
  Одобрено решение о регистрации доменов 1-го уровня
  Положительные стороны системы по имени CUNIC
  Почему доменные имена высшего уровня означают лучшую индексацию поисковыми системами
  Электронная платежная система Alertpay
  система интернет денег Liberty Reserve
  система электронных денег E-gold
  Создание чата, как увеличивается нагрузка на сервер
  Яндекс деньги (yandex money) достоинства и недостатки системы

© СПД Праведно-Счастливый Аладдин Ярославович, 2004-2008. Все права защищены. При цитировании материалов ссылка на www.karman.com.ua обязательна. Редакция "Кармана" может не разделять точку зрения авторов статей, сообщений и ответственности за их содержание не несет.

Быстрый переход к содержимому сайта Karman.com.ua:
Новости, советы, углубленные знания, знания для новичков, законодательство, интересные скрипты, фотогалереи, отчеты, статьи о хостинге: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
Часто задаваемые общие вопросы о хостинге, про FTP, PHPMyAdmin и MySQL, CPanel, Предустановленные скрипты, WHM, Cron, .htaccess, SSH, Паролирование директорий, О доменах, о работе с сайтом, о Раскрутке сайта, об Электронной почте, про Основы web-программирования: 0, 1
Энциклопедия основных терминов хостинга, программного обеспечения, железной стороны хостинга, технологий, электронной почты и доменов: 0, 1, 2, 3, 4, 5, 6
Сайты о хостинге (форумы, хостинг-провайдеры, студии веб-дизайна, домен-регистраторы, инструментарии в помощь вебмастеру): 0, 1, 2

Rambler's Top100