Різниця між спорідненістю сесії та липким сеансом?


126

Яка різниця між спорідненістю сеансу та липким сеансом у контексті серверів, що балансують навантаженням?

Відповіді:


82

Я бачив, як ці терміни використовуються взаємозамінно, але існують різні способи їх застосування:

  1. Надішліть cookie на першу відповідь, а потім шукайте його на наступних. Файл cookie повідомляє, на який реальний сервер надіслати.
    Погано, якщо вам доведеться підтримувати браузери без файлів cookie
  2. Розділ на основі IP-адреси запитувача.
    Погано, якщо він не є статичним або якщо багато хто входить через один і той же проксі.
  3. Якщо ви автентифікуєте користувачів, розділ заснований на імені користувача (для цього повинен бути підтримуваний HTTP режим аутентифікації).
  4. Не вимагає штату.
    Нехай клієнти потрапляють на будь-який сервер (надішліть стан клієнту і попросіть його відправити назад)
    Це не липкий сеанс, це спосіб уникнути необхідності цього робити.

Я б підозрював, що липке може посилатися на спосіб cookie, а спорідненість може в деяких контекстах посилатися на №2 та №3, але це не так, як я бачив, як це використовувалося (або використовую його самостійно)


6
Якщо запит пов'язаний з фізичним сервером, що буде, якщо цей сервер не працює? Чи існує стратегія використання файлу cookie, щоб містити сервер з відмовою?
raffian

2
Якщо сервер не працює, програма виходить з ладу - можливо, вам потрібно буде знову увійти. Можливо, ви втратили дані. Зазвичай, балансир навантаження вибирає інший сервер, і ви продовжуєте рух, але деякий стан втрачається. Якщо це неприпустимо, вам потрібно якомога швидше донести стан до БД або інших серверів або мати стратегію без громадянства.
Лу Франко

FWIW Heroku позначає їх як протилежне. Сесія Afifinity заснована на файлах cookie, і вона не підтримує липкого. devcenter.heroku.com/articles/session-affinity
RandallB

39

Як я завжди чув терміни, які використовуються в сценарії балансування навантаження, вони взаємозамінні. Обидва означають, що після запуску сеансу той же сервер обслуговує всі запити цього сеансу.


21

Липкий сеанс означає, що коли запит надходить на сайт від клієнта, всі подальші запити переходять на той самий сервер, до якого звертається початковий запит клієнта. Я вважаю, що спорідненість сеансу є синонімом липкого сеансу.


13

Вони однакові.

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


11

Липкий сеанс означає перенаправити запити певного сеансу до тієї самої фізичної машини, яка обслуговувала перший запит на цей сеанс.


3

Ця стаття пояснює для мене питання та обговорює інші типи стійкості балансира навантаження.

Думки Дейва: Навантаження наполегливості балансира (липкі сеанси)


6
Здається, це більше не доступно, але в машині Wayback
Мартін МакНтилті

12
Ось чому ви не просто публікуєте посилання без пояснень
Хуан Мендес

Виявлено, що вміст вищезазначеного посилання (більше не доступне зараз) переміщено до архіву.li/SG4fA В основному перераховано різні типи стійкості, підтримувані балансиром завантаження F5.
aveek

0

Вони є синонімами. Відмінності взагалі немає

Клейка сесія / Сполученість сесії:

Спорідненість / клейкість / контакт між сеансом роботи користувача та сервером, на який надсилається запит користувача, зберігається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.