Назад | Перейти на главную страницу

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

Я рассматриваю несколько возможных вариантов балансировки нагрузки.

Пока что я ограничен следующими вариантами:

Есть ли другие варианты, которые мне следует рассмотреть?

Спасибо.

Обновление: спасибо за все ответы на данный момент +1. Пока не принимаю ответа, чтобы не терять идеи.

Если вы смотрите на устройства балансировки нагрузки, вы действительно не ошибетесь с F5 Большой IP

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

Вот ссылка на исследование вариантов доставки приложений в 2007 году: Результаты Gartner

Я бы не стал использовать lb на основе DNS - именно по той причине, которую вы указали.

nginx или лак может быть вашим другим вариантом lb / fail-over, который находится перед appservs и действует как обратный прокси. они требуют большего ухода, чем аппаратные коробки, но сэкономят вам довольно много денег. обязательно поместите эти балансировщики в какой-нибудь кластер [активно-пассивный с сердцебиение сделает свое дело].

Я предлагаю использовать HAProxy. Это очень быстро. И вы также можете избежать единой точки отказа, используя два балансировщика нагрузки с CARP (* BSD) или UCARP / LVS (Linux).

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

Я предпочитаю аппаратные LB, поскольку они часто могут обрабатывать чертовски большой объем трафика, часто «проще», поэтому их легче / лучше укрепить, а иногда они могут также решать другие проблемы безопасности, такие как атаки SYN-flood на оборудовании. Я использую Foundry, но есть множество вариантов (F5, Cisco и т. Д.) - хотя и затратно :(

Cisco GSS (Global Site Selector) - это DNS-сервер, который также выполняет проверки работоспособности. Очевидно, это будет более дорогой вариант, чем стандартный DNS-сервер. Веб-страница с более подробной информацией здесь: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html

F5 has similar offerings:  http://www.f5.com/products/ 
Cisco ACE product page: http://www.cisco.com/en/US/products/ps8361/index.html

Как упоминал Chopper3, аппаратная балансировка нагрузки, вероятно, обеспечит более высокую производительность, но вы заплатите за это.

Возможности, на которые вы можете обратить внимание: разгрузка SSL, поддержка vlan, контексты, кластеризация, поддержка протоколов маршрутизации и поддержка / взаимодействие с различными приложениями (например, html cookie и модификация заголовка).

Вы смотрели на ldirectord?

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

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

Я написал программный балансировщик нагрузки, для которого не требуется отдельная машина.

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

Пушистый кластер здесь

Он в основном внешне похож на NLB от Microsoft (я думаю), хотя у меня нет их источника и я точно не знаю, как они работают.

Конечно, мы не отслеживаем уровень приложения автоматически, но вы можете написать что-нибудь, что будет делать это и соответственно изменять веса или удалять узлы.

РЕДАКТИРОВАТЬ: вы не сказали, какая ОС, кластер Fluffy на данный момент предназначен только для Linux.

keepalived - еще один балансировщик нагрузки Linux, который поддерживает несколько алгоритмов балансировки нагрузки (очевидно) и VRRP для создания избыточных экземпляров с автоматическим переключением при отказе, когда блок балансировщика нагрузки выходит из строя

Если деньги не беспокоят, приобретите аппаратный балансировщик нагрузки.

Компания, в которой я работаю, использует Apache для работы с нашими серверами Tomcat, а балансировщик нагрузки находится в той же коробке, что и некоторые из котов (коты используют внутренние порты). Скоро мы перейдем к специальному блоку балансировки нагрузки. Вскоре мы перейдем на Nginx, я считаю, что конфигурация проще и в целом намного легче, чем Apache. В зависимости от сетевой архитектуры, я бы также посоветовал вам использовать внутренний «плавающий IP-адрес» для балансировщика нагрузки и запустить что-то вроде пульса, чтобы переключить IP-адрес на другое поле, если необходимо. Это добавило бы возможности аварийного переключения, не беспокоясь о проблемах распространения DNS.

Я создал решение с DNSMadeEasy. У них хороший скринкаст относительно аварийного переключения DNS. У них разумная цена. В нашей системе мы реализовали простой сервис, который «проверяет» различные компоненты в нашей системе (база данных, очередь JMS, соединение S3) и возвращает OK, которое DNSMadeEasy может использовать. Всякий раз, когда возникает исключение, DNSMadeEasy удаляет этот сервер из списка серверов, которые отвечают на этот поиск DNS.

Вы смотрели на perlbal?

www.danga.com/perlbal/

Привет, @toolkit, вы когда-нибудь использовали NGinX / Varnish в своем квесте LoadBalancer (LB)? если да, то каковы были ваши результаты? (если вы не против поделиться с остальными ;-)

Чтобы подвести итог вышесказанному (и добавить упоминание о ZMQ)

Базовая балансировка нагрузки

Более продвинутый

  • ZeroMQ может справиться феноменальный параллелизм и загрузка, а пока нет разработан с учетом LB; Это очередь сообщений, которая по сути распределяет (разрешает) входящие запросы. Если вы чувствуете авантюрный Я рекомендую вам изучить это (2 часа обучения - высокий ROI!):