3.4 KiB
3.4 KiB
aliases, tags, date
| aliases | tags | date | ||
|---|---|---|---|---|
|
|
2025-01-17 |
Session Affinity (или Sticky Sessions) — это подход в highload/Балансировка нагрузки, при котором запросы от одного клиента всегда направляются на один и тот же сервер в течение всей сессии. Это обеспечивает сохранение состояния клиента на конкретном сервере и делает взаимодействие более последовательным.
Преимущества
- Сохранение состояния: Не требует сложной реализации хранения состояния между серверами.
- Простота для разработчиков: Упрощает работу с приложениями, которые не являются Stateless Service.
Недостатки
- Риски перегрузки: Сервер, привязанный к большому количеству клиентов, может стать перегруженным.
- Уязвимость к сбоям: Если сервер выходит из строя, сессии клиентов теряются.
- Меньшая гибкость Масштабирование информационной системы: Динамическое добавление или удаление серверов затруднено.
Методы реализации
- По IP-адресу клиента:
- Сервер выбирается на основе IP-адреса клиента.
- Простая реализация, но уязвима к использованию прокси-серверов и NAT.
- По cookie:
- Балансировщик устанавливает ../network/Cookie на клиенте, где хранится информация о назначенном сервере.
- Наиболее популярный метод благодаря своей гибкости.
- На основе токена:
- Клиент предоставляет токен (например, JWT), который указывает на сервер, обрабатывающий сессию.
- Токен может быть частью механизма аутентификации.
- Hash-Based (Хеширование):
- Сервер определяется через хеширование идентификатора клиента (например, IP, ID пользователя или URL).
- Эффективен для систем с большим количеством пользователей.
Мета информация
Область:: ../../meta/zero/00 Архитектура ИС Родитель:: highload/Балансировка нагрузки Источник:: Создана:: 2025-01-17 Автор::