Chcę poznać różnicę między sesjami lepkimi i niekleistymi. Co zrozumiałem po przeczytaniu z Internetu:
Przyklejony : będzie tam tylko jeden obiekt sesji.
Niekleista sesja : obiekt sesji dla każdego węzła serwera
Chcę poznać różnicę między sesjami lepkimi i niekleistymi. Co zrozumiałem po przeczytaniu z Internetu:
Przyklejony : będzie tam tylko jeden obiekt sesji.
Niekleista sesja : obiekt sesji dla każdego węzła serwera
Odpowiedzi:
Gdy witryna jest obsługiwana tylko przez jeden serwer WWW, dla każdej pary klient-serwer tworzony jest obiekt sesji i pozostaje on w pamięci serwera WWW. Wszystkie żądania od klienta trafiają do tego serwera WWW i aktualizują ten obiekt sesji. Jeśli pewne dane muszą być przechowywane w obiekcie sesji w okresie interakcji, są one przechowywane w tym obiekcie sesji i pozostają tam tak długo, jak sesja istnieje.
Jeśli jednak witryna jest obsługiwana przez wiele serwerów WWW, które znajdują się za modułem równoważenia obciążenia, moduł równoważenia obciążenia decyduje, do którego rzeczywistego (fizycznego) serwera WWW należy skierować każde żądanie. Na przykład, jeśli za modułem równoważenia obciążenia znajdują się 3 serwery WWW A, B i C, możliwe jest, że www.mywebsite.com/index.jsp jest obsługiwany z serwera A, www.mywebsite.com/login.jsp jest obsługiwany z serwer B i www.mywebsite.com/accoutdetails.php są obsługiwane z serwera C.
Teraz, jeśli żądania są obsługiwane z (fizycznie) 3 różnych serwerów, każdy serwer utworzył dla ciebie obiekt sesji, a ponieważ te obiekty sesji znajdują się na trzech niezależnych polach, nie ma bezpośredniego sposobu, aby wiedzieć, co jest w obiekcie sesji z drugiej. Aby zsynchronizować te sesje serwera, może być konieczne zapisanie / odczytanie danych sesji w warstwie wspólnej dla wszystkich - np. DB. Teraz zapisywanie i odczytywanie danych do / z bazy danych dla tego przypadku użycia może nie być dobrym pomysłem. Teraz pojawia się rola sesji lepkiej .
Jeśli moduł równoważenia obciążenia zostanie poinstruowany, aby używać sesji lepkich, wszystkie interakcje będą się odbywać na tym samym serwerze fizycznym, nawet jeśli obecne są inne serwery. Zatem obiekt sesji będzie taki sam przez całą interakcję z tą witryną.
Podsumowując, w przypadku sesji trwałych wszystkie twoje żądania będą kierowane do tego samego fizycznego serwera WWW, podczas gdy w przypadku niekleistego modułu równoważenia obciążenia może wybrać dowolny serwer internetowy, który będzie obsługiwał twoje żądania.
Jako przykład możesz przeczytać o Amazon Elastic Load Balancer i lepkich sesjach tutaj: http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions.html
Odpowiedziałem z kilkoma szczegółami tutaj: https://stackoverflow.com/a/11045462/592477
Lub możesz go przeczytać ==>
Kiedy używasz równoważenia obciążenia, oznacza to, że masz kilka instancji tomcat i musisz podzielić obciążenia.