Что такое липкая сессия

Mutt

Professional
Messages
1,058
Reputation
7
Reaction score
575
Points
113
Содержание статьи
  • Что такое липкая сессия
  • Прилипчивость сеанса: преимущества и недостатки
  • Сохранение с использованием файлов куки сеанса
  • Управление липкими сеансами с балансировкой нагрузки

Что такое липкая сессия
Привязанность сеанса, также известная как постоянство сеанса, - это процесс, в котором балансировщик нагрузки создает привязку между клиентом и определенным сетевым сервером на время сеанса (т. е. время, которое конкретный IP-адрес проводит на веб-сайте). Использование закрепленных сеансов может помочь улучшить взаимодействие с пользователем и оптимизировать использование сетевых ресурсов.

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

session-stickiness-diagram.jpg.webp

Балансировщик нагрузки с привязкой к сеансу и без него.

Это может оказаться очень полезным, поскольку HTTP / S - это протокол без сохранения состояния, который не был разработан с учетом сохранения сеанса. Тем не менее, многие веб-приложения действительно нуждаются в обслуживании персонализированных пользовательских данных (например, для ведения журналов товаров в корзине покупок или разговоров в чате) в течение сеанса.

Без сохранения сеанса веб-приложению пришлось бы поддерживать эту информацию на нескольких серверах, что может оказаться неэффективным, особенно для больших сетей.

Прилипчивость сеанса: преимущества и недостатки
Прикрепление сеанса дает ряд преимуществ, которые могут улучшить производительность вашего веб-приложения, в том числе:
  • Минимальный обмен данными - при использовании прикрепленных сеансов серверам в вашей сети не нужно обмениваться данными сеанса, что является дорогостоящим процессом, когда выполняется в больших масштабах.
  • Использование кеш-памяти RAM - закрепленные сеансы позволяют более эффективно использовать кеш-память RAM вашего приложения, что приводит к повышению скорости отклика.
Тем не менее, липкие сеансы также затрудняют поддержание баланса серверов. Сервер может быть перегружен, если он накапливает слишком много сеансов или если определенные липкие сеансы требуют большого количества ресурсов. Это может привести к тому, что вашему балансировщику нагрузки придется переключить клиента на другой сервер в середине сеанса, что приведет к потере данных.

Сохранение с использованием файлов куки сеанса
Существует два типа сохраняемости сеанса на основе файлов куки: на основе продолжительности и на основе приложения.

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

По истечении указанного времени и истечения срока действия файла cookie сеанс больше не является «липким».

Постоянство сеанса, управляемое приложением
Ваше приложение создает файл куки, который определяет продолжительность липкости сеанса. Балансировщик нагрузки по-прежнему выдает свой собственный файл cookie сеанса поверх него, но теперь он следует за временем жизни файла cookie приложения.

Это делает прикрепленные сеансы более эффективными, гарантируя, что пользователи никогда не будут перенаправлены на сервер после того, как их локальный файл cookie сеанса уже истек. Однако его сложнее реализовать, поскольку требуется дополнительная интеграция между балансировщиком нагрузки и приложением.

Управление липкими сеансами с балансировкой нагрузки
Прикрепление сеанса обеспечивает эффективный и точный способ сохранения информации о сеансе между посетителем и сервером при настройке балансировки нагрузки и может помочь снизить нагрузку на сеть.

session-persistence-screenshot.jpg.webp

Сохранение сеанса с балансировщиком нагрузки с помощью одного щелчка мыши. Конфигурации липкости сеанса Incapsula.

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

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