Назад | Перейти на главную страницу

Настройка HAProxy для сессий Stick

Я установил Pound (для разгрузки SSL) и HAproxy на Debian 6 Squeeze. Я пытаюсь понять документацию HAProxy для настройки липких сеансов, поскольку этот балансировщик нагрузки будет работать перед веб-приложением.

Я также просмотрел Server Fault, чтобы узнать, как другие настраивают HAProxy для липких сессий; Очевидный способ, который я видел по всему Интернету, - это что-то вроде этого под backend заявление;

balance roundrobin
stick store-request src 
stick-table type ip size 200k expire 2m
server web1 10.0.0.2:8080 check
server web2 10.0.0.3:8080 check

Другой менее распространенный метод, который я видел, - это использовать параметр appsession, как указано Вот.

Что мне следует использовать или и то, и другое? И почему?

Спасибо.

это зависит от того, что лучше всего подходит для вашего приложения. Если ваше веб-приложение использует файлы cookie для отслеживания сеансов, то appsession - хороший способ сделать это. однако, если ваш сайт использует SSL / TLS и шифрование выполняется на сервере, haproxy не может читать файлы cookie, и вам придется использовать IP. поскольку вы выгружаете SSL с помощью фунта (при условии, что он находится перед haproxy), это не должно быть проблемой для вас.

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

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