Różnica między koligacją sesji a przyklejoną sesją?


126

Jaka jest różnica między koligacją sesji a sesją trwałą w kontekście serwerów równoważenia obciążenia?

Odpowiedzi:


82

Widziałem te terminy używane zamiennie, ale są różne sposoby ich implementacji:

  1. Wyślij ciasteczko przy pierwszej odpowiedzi i poszukaj go przy kolejnych. Plik cookie mówi, na który prawdziwy serwer wysłać.
    Źle, jeśli musisz obsługiwać przeglądarki bez plików cookie
  2. Partycja oparta na adresie IP żądającego.
    Źle, jeśli nie jest statyczny lub jeśli wiele jest przesyłanych przez to samo proxy.
  3. W przypadku uwierzytelniania użytkowników partycja oparta na nazwie użytkownika (w tym celu musi być obsługiwany tryb uwierzytelniania HTTP).
  4. Nie wymagaj stanu.
    Pozwól klientom trafić na dowolny serwer (wyślij stan do klienta i poproś go o odesłanie).
    To nie jest „lepka” sesja, to sposób na uniknięcie konieczności robienia tego.

Podejrzewam, że sticky może odnosić się do sposobu plików cookie, a to powinowactwo może odnosić się do # 2 i # 3 w niektórych kontekstach, ale nie widziałem tego, jak go używałem (lub używam go sam)


6
Jeśli żądanie jest powiązane z serwerem fizycznym, co się stanie, jeśli ten serwer ulegnie awarii? Czy istnieje strategia wykorzystania pliku cookie do przechowywania serwera awaryjnego?
rafian

2
Jeśli serwer ulegnie awarii, aplikacja przestanie działać - być może będziesz musiał zalogować się ponownie. Może straciłeś dane. Zwykle moduł równoważenia obciążenia wybiera inny serwer i kontynuujesz pracę, ale część stanu zostaje utracona. Jeśli jest to niedopuszczalne, musisz jak najszybciej przekazać stan do bazy danych lub innych serwerów lub mieć strategię bezstanową.
Lou Franco,

FWIW Heroku nazywa je odwrotnie. Session Afifinity jest oparte na plikach cookie i nie obsługuje formatu sticky. devcenter.heroku.com/articles/session-affinity
RandallB

39

Jak zawsze słyszałem terminy używane w scenariuszu równoważenia obciążenia, są one zamienne. Oba oznaczają, że po rozpoczęciu sesji ten sam serwer obsługuje wszystkie żądania z tej sesji.


21

Sesja lepka oznacza, że ​​kiedy żądanie przychodzi do lokacji od klienta, wszystkie dalsze żądania trafiają do tego samego serwera, do którego uzyskano dostęp. Uważam, że koligacja sesji jest synonimem sesji lepkiej.


13

Oni są tacy sami.

Oba oznaczają, że przychodząc do modułu równoważenia obciążenia, żądanie zostanie skierowane do serwera, który obsłużył pierwsze żądanie (i ma sesję).


11

Sesja lepka oznacza kierowanie żądań określonej sesji do tego samego fizycznego komputera, który obsłużył pierwsze żądanie w tej sesji.


3

Ten artykuł wyjaśnia mi tę kwestię i omawia inne typy trwałości modułu równoważenia obciążenia.

Dave's Thoughts: Trwałość systemu równoważenia obciążenia (lepkie sesje)


6
Pozornie nie jest już dostępny, ale jest kopia w maszynie Wayback
Martin McNulty

12
Dlatego nie umieszczasz po prostu linków bez wyjaśnienia
Juan Mendes

Okazało się, że zawartość powyższego linku (nie jest już dostępna) została przeniesiona do archive.li/SG4fA Zasadniczo zawiera listę różnych typów trwałości obsługiwanych przez moduł równoważenia obciążenia F5.
aveek

0

Są synonimami. Żadnej różnicy

Sesja lepka / koligacja sesji:

Koligacja / lepkość / kontakt między sesją użytkownika a serwerem, do którego wysyłane jest żądanie użytkownika, jest zachowywany.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.