Привязка клиентских сессий#
В паре высокой доступности поддерживается привязка клиентских сессий (sticky sessions). При переключении узлов сессии будут сохраняться: все запросы клиента в рамках одной сессии будут по-прежнему перенаправляться на один и тот же бэкенд-сервер.
Информация о клиентских сессиях хранится в хранилище сессий Angie ADC.
Привязка сессий реализуется с помощью директивы sticky
(режим learn с remote_action).
Для включения функции необходимо указать адрес хранилища сессий Angie ADC
(http://127.0.0.1:3380/sticky_session)
в конфигурации балансировщика нагрузки.
Пример конфигурации:
http {
upstream sticky_test {
server 127.0.0.1:8091 sid=web-server-01;
server 127.0.0.1:8092 sid=web-server-02;
sticky learn
lookup=$http_x_userid
remote_action=/create_session
remote_result=$upstream_http_x_sid;
}
server {
listen *:80;
location / {
proxy_pass http://sticky_test/;
}
location /create_session {
internal;
proxy_set_header X-Sticky-Sessid $sticky_sessid;
proxy_set_header X-Sticky-Sid $sticky_sid;
proxy_set_header X-Sticky-Last $msec;
proxy_method POST;
proxy_pass http://127.0.0.1:3380/sticky_session;
proxy_connect_timeout 1s;
proxy_read_timeout 1s;
}
}
}