Я смотрю на ряд возможных вариантов балансировки нагрузки.
Пока что я ограничен следующими вариантами:
Балансировщик нагрузки DNS-сервера, балансирующий на кластер серверов Tomcat, с терракотой для репликации сеансов. Плюсы - не нужно покупать новый комплект. Минусы - DNS фунт может продолжать направлять на сломанный сервер.
Аппаратный балансировщик нагрузки, напрямую к кластеру серверов Tomcat. Плюсы - мог быть второй ящик для отработки отказа, фунт. Минусы - расход.
Балансировщик нагрузки сервера Apache. Плюсы - lb-опросы Apache для неработающих серверов. Минусы - сервер Apache является единственной точкой отказа, плюс необходимо купить другой сервер.
Есть ли другие варианты, которые я должен рассмотреть?
Спасибо.
Обновление: Спасибо за все ответы, пока +1 со всех сторон. Пока не принимаю ответ, чтобы больше идей приходило.
источник
Ответы:
я бы не стал использовать lb на основе DNS - именно по той причине, которую вы перечислили.
nginx или лак могут быть вашей другой опцией lb / fail-over, которая находится перед appservs и действует как обратный прокси. они требуют большего ухода, чем аппаратная коробка, но сэкономят вам немало денег. не забудьте также поместить эти балансировщики в какой-то кластер [активно-пассивный с биением сердца поможет вам].
источник
Если вы смотрите на устройства балансировки нагрузки, вы действительно не ошибетесь с F5 Big-IP
редактировать: причина, по которой я говорю, просто пойти с Big-IP, потому что это хорошее устройство для администраторов серверов, которые не имеют большого опыта работы с сетевыми устройствами. У этого есть хороший веб-интерфейс с почти безграничными вариантами конфигурации и отчетности. Они являются наиболее надежными и наименее дорогими из всех «корпоративных» вариантов балансировки нагрузки.
Вот ссылка на исследование по вариантам доставки приложений в 2007 году: Результаты Gartner
источник
Я предлагаю использовать HAProxy . Это очень быстро. И вы также можете избежать единой точки отказа, используя два балансировщика нагрузки с CARP (* BSD) или UCARP / LVS (Linux)
источник
Мы годами использовали Coyote Point Equalizer (аппаратные балансировщики нагрузки) и были им очень довольны. Они могут иметь не все функции F5, но у них все еще много функций, и они стоят гораздо дешевле. Производительность и надежность были превосходны.
источник
Я склоняюсь к аппаратным LB, так как они часто могут обрабатывать огромную часть трафика, часто «проще», поэтому более способны к упрочнению лучше / проще и иногда могут также управлять другими проблемами безопасности, такими как атаки SYN-floud на оборудовании. Я использую Foundry, но есть выбор (F5, Cisco и т. Д.) - хотя бы потратил :(
источник
Cisco GSS (Global Site Selector) - это DNS-сервер, который также выполняет проверки работоспособности. Очевидно, это будет более дорогой вариант, чем стандартный DNS-сервер. Веб-страница с более подробной информацией здесь: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html
Как упомянул Chopper3, аппаратная балансировка нагрузки, вероятно, даст более высокую производительность, но вы заплатите за нее.
Возможности, которые вы можете найти: разгрузка SSL, поддержка vlan, контексты, кластеризация, поддержка протоколов маршрутизации и поддержка / взаимодействие с различными приложениями (например, html-файлы cookie и изменение заголовка).
источник
Вы смотрели на ldirectord ?
Он работает на Linux, может работать с heartbeat на тех же машинах, на которых он выполняет балансировку нагрузки (и, следовательно, имеет встроенную избыточность) - или, конечно, на собственной коробке перед ними, прост в настройке, легок и очень эффективен ,
источник
Я обнаружил, что перекресток был отличным балансировщиком нагрузки. Он обрабатывал нашу производственную нагрузку в течение хороших семи месяцев, пока сетевые специалисты разобрались с аппаратной проблемой с балансировщиком нагрузки Cisco.
источник
Я написал программный балансировщик нагрузки, который не требует отдельной машины.
Недостатком является то, что он не готов к работе - но если вы хотите протестировать его в своей тестовой сети, я буду рад.
Пушистый кластер здесь
Это в основном внешне похоже на Microsoft NLB (я думаю) - хотя у меня нет их источника и я точно не знаю, как их работает.
Конечно, мы не контролируем автоматически уровень приложения, но вы можете написать что-то, что делает это и изменяет веса или соответственно убирает узлы.
РЕДАКТИРОВАТЬ: Вы не сказали, что ОС, кластер Fluffy в настоящее время только для Linux.
источник
keepalived - это еще один Linux-балансировщик нагрузки, который поддерживает несколько алгоритмов балансировки нагрузки (очевидно) и VRRP для создания избыточных экземпляров с автоматическим переключением при сбое при отключении блока балансировки нагрузки.
источник
Если деньги не представляют проблемы, приобретите аппаратный балансировщик нагрузки.
Компания, в которой я работаю, использует Apache для подключения к нашим серверам Tomcat, а балансировщик нагрузки находится в том же окне, что и некоторые tomcats (tomcats используют внутренние порты). Скоро мы перейдем к выделенному блоку балансировки нагрузки. Вскоре мы перейдем к Nginx, но я считаю, что конфигурация проще, и все это намного легче, чем Apache. В зависимости от архитектуры вашей сети, я бы также посоветовал вам использовать внутренний «плавающий IP» для балансировщика нагрузки и запускать что-то вроде пульса, чтобы при необходимости переключить IP на другой блок. Это добавит возможности отработки отказа, не беспокоясь о проблемах распространения DNS.
источник
Я настроил решение с помощью DNSMadeEasy . У них есть хороший скринкаст о сбое DNS. У них разумные цены. В нашей системе мы реализовали простой сервис, который «пингует» различные компоненты нашей системы (базу данных, очередь JMS, соединение S3) и возвращает OK, который DNSMadeEasy может использовать. Всякий раз, когда возникает исключение, DNSMadeEasy удаляет этот сервер из списка серверов, который отвечает на этот поиск DNS.
источник
Вы смотрели на Perlbal?
www.danga.com/perlbal/
источник
Здравствуйте, @toolkit. Вы когда-нибудь использовали NGinX / Varnish в своем квесте LoadBalancer (LB)? если да, каковы были ваши результаты? (если вы не против поделиться с остальными из нас ;-)
Просто чтобы подвести итог вышесказанному (и добавить упоминание для ZMQ)
Базовая балансировка нагрузки
Более продвинутый
источник