Балансировка нагрузки и сеансы - PullRequest
6 голосов
/ 22 апреля 2010

Какой лучший подход для балансировки нагрузки на веб-серверах? Мои службы работают в .NET и Mono, поэтому они могут быть размещены на IIS или Apache2 и должны будут обеспечивать SSL-соединение.

Я прочитал два основных подхода: сохранить состояние на общем сервере и использовать липкие сессии, есть еще какие-нибудь другие?

Я прочитал 3 разные вещи о липких сессиях:

1) устройство балансировки нагрузки будет знать, с какого сервера вы установили соединение, и все последующие соединения с этого хоста будут направлены на тот же сервер.

2) разделить балансировку нагрузки и прочитать файл cookie с именем: JSESSIONID

3) разделить балансировку нагрузки и прочитать файл cookie с именем: ASPSESSIONID

Я немного растерялся, что именно произойдет? Поскольку соединения будут SSL, нет шансов на балансировку нагрузки деления чтения куки, и что тогда?

О магазине поместья на общем сервере, какие решения вы знаете? Я читал, что memcache - хорошее решение, но есть ли еще что-нибудь?

Приветствие.

Ответы [ 2 ]

2 голосов
/ 22 апреля 2010

При использовании SSL с балансировщиком нагрузки обычно размещают сертификат SSL на сервере балансировки нагрузки, а не на внутренних серверах.Таким образом, вам нужен только 1 сертификат на 1 сервере.Затем балансировщик нагрузки общается с внутренними серверами, используя простой HTTP.Это, очевидно, требует, чтобы ваши серверы не были напрямую доступны из Интернета.

Итак, если балансировщик нагрузки отвечает за расшифровку запроса, он также сможет проверить запрос на наличие jsessionid.

Липкие сессии хорошо работают с Apache в качестве балансировщика нагрузки.Вы должны проверить модули Apache mod_proxy и mod_proxy_balancer .

1 голос
/ 22 апреля 2010

Обычно балансировка нагрузки SSL означает, что клиент общается с балансировщиком нагрузки по HTTPS, а балансировщик нагрузки общается с веб-сервером через HTTP.

Некоторые балансировщики нагрузки достаточно умны, чтобы устанавливать сеанс SSL с веб-сервером (чтобы он мог читать файлы cookie) и поддерживать отдельный сеанс SSL с клиентом.

И некоторые балансировщики нагрузки могут сохранять липкость без использования файлов cookie веб-сервера. Мои балансировщики нагрузки могут отправлять свои собственные куки-файлы клиенту (у них также есть куча других настроек липкости).

...