Ответы:
Различие между «аппаратными» и «программными» балансировщиками нагрузки больше не имеет смысла. Так называемый «аппаратный» балансировщик нагрузки - это ЦП класса ПК, сетевые интерфейсы с возможностями обработки пакетов и некоторое программное обеспечение, связывающее все это вместе. «Программный» балансировщик нагрузки, реализованный на хорошем сервере с современными сетевыми картами, - это то же самое.
Что вы получаете с коммерческими предложениями высокого класса, такими как F5 или Citrix Netscaler, это:
С (открытым исходным кодом) программными балансировщиками нагрузки вы не получите противоположного, что вы получите, зависит от программного обеспечения, которое вы выбираете, и от того, как вы это делаете. Тем не менее, как правило, вы увидите:
Различие не в «аппаратном», а в «программном». Он заключается в том, чтобы «купить проверенный технологический стек как устройство», а не «построить его самостоятельно». Конечно, при принятии окончательного решения необходимо учитывать множество переменных (затраты, внутренние навыки, допустимое время простоя, будущий рост и т. Д.).
Аппаратные балансировщики нагрузки обычно имеют более богатый набор функций, особенно когда вы переходите к большим, таким как F5. Вы также получаете дополнительное преимущество большей масштабируемости из-за разгрузки оборудования.
С другой стороны, если вы знаете, что ваш трафик не будет слишком высоким, программные балансировщики нагрузки на самом деле работают достаточно хорошо. Если вы можете сделать это с помощью Layer 4 LB, Linux LVS + Keepalived является очень хорошим вариантом. Если вам нужна мощность LB уровня 7, вы можете попробовать HAProxy.
Таким образом, в общем, HW LB обычно масштабируются лучше, чем SW LB.
Надеюсь это поможет!
Несколько мыслей:
Плюс: машина, на которой вы запускаете балансировщик нагрузки, может иметь гораздо более мощное аппаратное обеспечение, поэтому будет быстрее и налагает меньше дополнительной задержки (хотя в зависимости от скорости ваших ссылок на внешний мир это может не иметь большого значения).
Против: аппаратный балансировщик нагрузки, скорее всего, будет обладать не большей вычислительной мощностью, чем ему нужно (он может работать на чипе на базе Atom или ARM, а не на мощном ЦП Intel / AMD, например), поэтому будет потреблять меньше энергии и генерировать меньше высокая температура.
Pro: установка вашего собственного программного балансировщика нагрузки может дать вам больше гибкости в настройке и последующих обновлениях / изменениях, где аппаратное решение может быть гораздо более закрытым решением «черного ящика». Хотя, если вы покупаете управляемый сервис для реализации программного балансировщика, это не будет иметь большого значения.
Против: если вы не управляете программным балансировщиком (то есть задача передается на аутсорсинг, или вы покупаете услугу как часть более крупного соглашения об управляемом хостинге), вы можете посчитать, что административные сборы за поддержку установки означают готовое оборудование Решение будет дешевле в долгосрочной перспективе. Кроме того, не забывайте учитывать свое время на любых затратах, если вы или ваша компания будете управлять балансировщиком нагрузки.
105931 sessions per second
и около 17% использования процессора - это довольно безумно для одного базового процессора Xeon
Я бы принял во внимание и эти моменты:
Если в компании есть ИТ-отдел с сетевым специалистом, то аппаратный LB может помочь снизить нагрузку на обслуживание команды разработчиков.
Иногда, специально для крупных компаний, внедрение нового оборудования, которое никто не знает, как работать, подразумевает наем дорогих консультантов или даже новое трудоустройство.
Команда разработчиков будет ненавидеть аппаратное решение, если они планируют подчеркнуть особенности балансировщика нагрузки, например, принять непрерывное развертывание.
Очевидно, что HW LB могут улучшить обработку соединений SSL и, следовательно, сократить общее количество необходимых серверов приложений: