Je veux connaître la différence entre les sessions collantes et non collantes. Ce que j'ai compris après avoir lu sur Internet:
Sticky : seul un objet de session unique sera là.
Session non collante : objet de session pour chaque nœud de serveur
Je veux connaître la différence entre les sessions collantes et non collantes. Ce que j'ai compris après avoir lu sur Internet:
Sticky : seul un objet de session unique sera là.
Session non collante : objet de session pour chaque nœud de serveur
Réponses:
Lorsque votre site Web est desservi par un seul serveur Web, pour chaque paire client-serveur, un objet de session est créé et reste dans la mémoire du serveur Web. Toutes les demandes du client vont à ce serveur Web et mettent à jour cet objet de session. Si certaines données doivent être stockées dans l'objet de session pendant la période d'interaction, elles sont stockées dans cet objet de session et y restent tant que la session existe.
Cependant, si votre site Web est servi par plusieurs serveurs Web qui se trouvent derrière un équilibreur de charge, l’équilibreur de charge décide vers quel serveur Web (physique) réel chaque requête doit aller. Par exemple, s'il y a 3 serveurs Web A, B et C derrière l'équilibreur de charge, il est possible que www.mywebsite.com/index.jsp soit servi à partir du serveur A, www.mywebsite.com/login.jsp soit servi à partir de le serveur B et www.mywebsite.com/accoutdetails.php sont servis depuis le serveur C.
Maintenant, si les demandes sont servies depuis (physiquement) 3 serveurs différents, chaque serveur a créé un objet de session pour vous et parce que ces objets de session reposent sur trois boîtes indépendantes, il n'y a aucun moyen direct de savoir ce qu'il y a dans l'objet de session de l'autre. Afin de synchroniser entre ces sessions de serveur, vous devrez peut-être écrire / lire les données de session dans une couche commune à tous, comme une base de données. Maintenant, écrire et lire des données vers / depuis une base de données pour ce cas d'utilisation peut ne pas être une bonne idée. Maintenant, voici le rôle de la session collante .
Si l'équilibreur de charge est invité à utiliser des sessions persistantes, toutes vos interactions se produiront avec le même serveur physique, même si d'autres serveurs sont présents. Ainsi, votre objet de session sera le même tout au long de votre interaction avec ce site Web.
Pour résumer, en cas de sessions collantes, toutes vos demandes seront dirigées vers le même serveur Web physique tandis qu'en cas d'équilibreur de charge non collant, vous pourrez choisir n'importe quel serveur Web pour répondre à vos demandes.
Par exemple, vous pouvez lire sur l'Elastic Load Balancer d'Amazon et les sessions persistantes ici: http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions.html
J'ai fait une réponse avec plus de détails ici: https://stackoverflow.com/a/11045462/592477
Ou vous pouvez le lire ici ==>
Lorsque vous utilisez l'équilibrage de charge, cela signifie que vous disposez de plusieurs instances de tomcat et que vous devez diviser les charges.