Прив’язка сесії до сервера Nginx
Sticky session - метод балансування навантаження, при якому запити клієнта передаються на той самий сервер групи.
Найпростіший спосіб закріпити сесії користувача за конкретним сервером у Nginx - використовувати метод ip-hash:
У Nginx існує метод sticky, який використовує cookie для балансування, правда тільки в комерційній версії. Є й безкоштовний шлях — використання зовнішніх модулів.
Nginx-sticky-module
варто замінити на
Щоб встановити цей модуль, потрібно скомпілювати Nginx із цим модулем. Для цього потрібно, якщо ні, встановити компілятор С/С++ та бібліотеки, які використовуються nginx (для RedHat/CentOS):
завантажити останню версію вихідних файлів Nginx, розпакувати її в не важкодоступне місце, знайти в розпакованій папці src, розпакувати в неї архів nginx-sticky-module або nginx-sticky-module-ng і далі визначившись з опціями nginx, які будуть потрібні, скомпілювати
init.d script можна знайти тут, який потрібно скопіювати у файл:
та дати йому права запуску
після чого можна використовувати команди сервісу та налаштувати автоматичний запуск після перезавантаження:
Налаштування sticky session виглядає не складнішим, ніж для методу ip_hash:
За промовчанням буде створюватися cookie з ім'ям route та часом життя 1 годину. Метод може приймати кілька аргументів, які можна дізнатися на сайтах модулів.
Для любителів збочень та обходитися без сторонніх модулів можна використовувати налаштування sticky session представлене тут.
Хардкорна конфа за С++. Ми запрошуємо лише профі.