Как я могу сбалансировать входящий веб-трафик среди апачских серверов N?

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

12
задан 25 August 2010 в 00:12
7 ответов

Примерно любой "обратный прокси" сделает то, что Вы спрашиваете.

Например, Лак, Фунт и HAProxy являются всей пользой в том, что они делают, но у них также есть свои различия - однако, поскольку, что Вы спрашиваете, любой из них сделает. Лично, я думал бы, что Вы будете лучше всего выключены с HAProxy, но это - просто предположение.

Вы могли бы быть лучшими от чтения статьи о подсистемах балансировки нагрузки, чтобы помочь Вам решить, в каком виде Вы нуждаетесь: http://1wt.eu/articles/2006_lb/

Кроме того, Вы могли бы рассмотреть использование предварительно созданного сервиса для этого - как выполнение Вашего программного обеспечения на Резинке Amazon, Вычисляют Облако и использование их Эластичного Выравнивания нагрузки.

4
ответ дан 2 December 2019 в 21:40

Сначала, существует важный вопрос, на который нужно ответить:
Вам нужны сеансы пользователя, которые будут обработаны подсистемой (подсистемами) балансировки нагрузки и всегда доводиться тот же веб-сервер (если живой)?

  • сессии, не требуемые: в этом случае необходимо использовать эффективную nginx программу в качестве подсистемы балансировки нагрузки. Конфигурацию легко установить, где в основном только необходимо указать на список веб-серверов в upstream upstream_name { server1, ..., serverN } оператор, затем, для данного домена, Вам нужно простое proxy_pass upstream_name директива.
    См. Wiki Nginx.

  • сессия потребовала, чтобы была подобная установка для фунта, где Вы указываете на название cookie, который разместит идентификатор сессии (ID MYCOOKIENAME), затем список BACKEND для всех Ваших серверов.
    Посмотрите, например, что Фунт устанавливает exemple.

Когда потребность в нескольких подсистемах балансировки нагрузки возникает, можно хотеть пойти для a heartbeat конфигурация, это или гарантирует, что только один стабилизатор монтирует виртуальный IP для данного домена, (если сессии, необходимые, или, монтируют обоих и подают DNS с двумя IP-адресами, например). Возможно, это должно быть детализировано в другом вопросе в то время, когда это становится необходимым (поскольку инструменты развиваются быстро).
См. также эту ссылку, например.

2
ответ дан 2 December 2019 в 21:40

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

Циклическое выравнивание нагрузки

  • затраты ничто
  • просто реализовать и справиться
  • обработка отказа реализаций в клиенте - единственное место, что отказ может быть надежно обнаружен
  • неявно привязка сервера поддержек, но все еще позволяет обработку отказа без проблем управления сеансами, связанного с липкими сессиями
  • не требует никакого дополнительного программного обеспечения / аппаратные средства / конфигурация на кластерных узлах

Это amazse меня объем дезинформации, которая распространена относительно циклического алгоритма. Если бы я был циничным человеком, то я мог бы задаться вопросом, существует ли какое-либо соединение с поставщиками whoi, производят большие дорогие аппаратные средства выравнивания нагрузки.

Единственные мнения, с которыми я соглашусь, являются этим

  1. Адреса IPv4 становятся недостаточными и поэтому дорогими - но все еще очень. намного более дешевый, чем говорят Cisco CSS.

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

1
ответ дан 2 December 2019 в 21:40
0
ответ дан 2 December 2019 в 21:40

Для стабилизаторов Вы могли изучить LVS по http://www.linuxvirtualserver.org/, возможно, работая ldirectord и heartbeat, чтобы направить трафик и выполнить обработку отказа.

0
ответ дан 2 December 2019 в 21:40

Nginx является потрясающим как восходящий прокси, я использовал его с большим успехом в конфигурации, делающей 1M + uniques ежедневно

0
ответ дан 2 December 2019 в 21:40

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

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

Необходимо считать введение выравнивания нагрузки Willy Tarreau что Nakedible, связанный с. Это все еще допустимо, и это - хорошее введение.

Необходимо рассмотреть, как они соответствуют потребностям:

  • Подсистемы балансировки нагрузки уровня TCP/IP (Виртуальный сервер Linux и др.). Самая низкая служебная, самая высокая скорость для каждого подключения, не может "видеть" HTTP.
  • Подсистемы балансировки нагрузки уровня HTTP (HAProxy, nginx, Apache 2.2, Фунт, Microsoft ARR, и больше). Выше наверху, видьте HTTP, может gzip HTTP, может сделать SSL, может сделать липкое выравнивание нагрузки сессии.
  • Прокси реверса HTTP (Транспортный Сервер Apache, Лак, Сквид). Может хранить кэшируемые объекты (некоторые веб-страницы, CSS, js, изображения) в RAM и передать их последующим клиентам, не включая веб-сервер бэкенда. Может часто делать часть того же самого, которое делают подсистемы балансировки нагрузки L7 HTTP.

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

Ну, уверенный. Но выравнивание нагрузки просто, и часто единственная подсистема балансировки нагрузки может пойти быстро. Я связываюсь с этой статьей, которая ударила нерв в сети, как просто пример того, какую приблизительную оценку производительности единственный современный сервер может обеспечить. Не используйте несколько LB, прежде чем Вы должны будете. То, когда Вам нужно к общему подходу, является подсистемами балансировки нагрузки уровня IP в очень переднем (или Циклический алгоритм DNS), идя в подсистемы балансировки нагрузки уровня HTTP, идя в серверы веб-приложения и прокси.

справка на том, чем "balancer/s" должен быть и лучшие практики о том, как настроить их.

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

Если Вы просто используете 2-4 сервера веб-приложения бэкенда, статическое хеширование на основе IP-адреса источника может быть жизнеспособным. Это избегает потребности в состоянии сеанса совместной работы среди серверов веб-приложения. Каждый узел веб-приложения видит 1/Н из полного трафика, и клиент к серверу, отображающийся, статичен в нормальном функционировании. Это не подходящий вариант для большей установки все же.

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

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

balancer/s видел бы, сколько соединений находится на каждом апачском экземпляре (с помощью некоторого списка конфигурации или вечного дюйм/с внутреннего IP), и распределяет соединения одинаково

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

Последняя вещь: не забывайте, что многие поставщики (F5, Cisco и другие на высокопроизводительном, fx Coyote Point and Kemp Technologies по более разумным ценам) предлагают сформировавшиеся устройства выравнивания нагрузки.

0
ответ дан 2 December 2019 в 21:40

Теги

Похожие вопросы