Прямо сейчас у нас есть только один внутренний сервер на сайт / веб-сервис. Мне было бы интересно услышать, как люди взаимодействуют с различными приложениями для балансировки нагрузки (которые работают в Linux).
Чтобы вы посоветовали?
Прямо сейчас у нас есть только один внутренний сервер на сайт / веб-сервис. Мне было бы интересно услышать, как люди взаимодействуют с различными приложениями для балансировки нагрузки (которые работают в Linux).
Чтобы вы посоветовали?
Ответы:
Согласно эпизоду 27 из подкастов StackOverflow , что Reddit ребята действительно , кажется, как HAProxy . Вот краткое руководство, показывающее, как HAProxy используется с Amazon EC2 . Вы можете найти гораздо больше информации на веб-сайте HAProxy .
Вопрос не содержит конкретной информации о нагрузке, необходимых функциях и т. Д., Поэтому любой ответ в лучшем случае является предположением.
Фунт - хороший выбор для небольших и средних предприятий. Он предлагает поддержку HTTPS и простую настройку.
HAproxy может масштабироваться для насыщения каналов 10G Ethernet и предлагает ограничение соединения, то есть отправку только количества одновременных запросов на каждый внутренний сервер, поскольку у вас есть экземпляры Apache children / Ruby on Rails для обработки.
nginx отлично подходит как универсальный балансировщик нагрузки и статический файловый сервер. Он может выполнять HTTP-сжатие, перезапись URL-адреса и обслуживание статических файлов при балансировке нагрузки.
Apache в серии 2.2 также является довольно хорошим балансировщиком нагрузки. Может делать то же самое, что и nginx, но нагрузка на сервер выше, чем nginx. Очень стоит разобраться, если вы уже знакомы с Apache и очень зрелы.
Perlbal предлагает простое ограничение соединения с внутренними хостами, мультиплексирование запросов через постоянные HTTP-соединения и простую настройку, если вы уже используете Perl.
Кэш Varnish - это обратный HTTP-прокси с базовой поддержкой балансировки нагрузки. Это не очень хороший балансировщик нагрузки, но в некоторых ситуациях его кэширование в памяти большинства запрашиваемых объектов может удалить высокий процент обращений к бэкэнд-серверу, и у него отличная производительность. Включения ESI потенциально интересны.
Я не уверен на 100%, но, вне всяких сомнений, Perlbal и nginx предлагают некоторую поддержку для изменения конфигурации без повторного запуска балансировщика нагрузки. Для больших площадок это очень важно, и это хорошая вещь для хороших коммерческих устройств балансировки нагрузки.
Все вышеперечисленное является балансировщиком нагрузки уровня HTTP (уровень 7). Балансировщики нагрузки на уровне TCP / IP могут достичь более высокой пропускной способности, но ограничены другими способами. Автор HAProxy написал хороший, читаемый обзор методов и проблем балансировки нагрузки: http://1wt.eu/articles/2006_lb/
LVS - широко используемый балансировщик нагрузки на уровне TCP / IP. Большинство брандмауэров также могут выполнять базовую балансировку нагрузки на уровне IP, хэшируя входящий запрос по диапазону внутренних IP-адресов - по крайней мере, PF OpenBSD и Cisco ASA и Juniper Netscreens могут сделать это.
Мы используем LVS в производстве. Он управляется нашей операционной командой с набором сложных и злых сценариев. Довольно умная сделанная на заказ система объявляет данные о работоспособности и производительности от наших реальных серверов, чтобы балансировщик нагрузки мог соответствующим образом устанавливать веса.
LVS, конечно, дает вам единственную точку отказа - балансировщик нагрузки (существуют способы их избыточной настройки).
Я подумал, что это слишком сложно для настройки, поэтому я написал Fluffy Linux Cluster, который был основан на том, как работает Windows NLB (я думаю ... я не уверен, как это работает, хотя), а также вдохновлен CLUSTERIP.
Мы не используем его в работе, но Fluffy может балансировать нагрузку на разумное (минимум 5) серверов без единой точки отказа, без центрального узла управления и т. Д.
Если вы решите использовать LVS, я также рассмотрю Keepalived, если вы собираетесь сделать свой серверный уровень балансировки нагрузки высокодоступным. Я использовал Heartbeat / Pacemaker с LVS в течение нескольких месяцев и обнаружил, что он слишком сложен и иногда нестабилен для простого слоя HA LB.