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 sera présent.
session non collante: objet de session pour chaque nœud de serveur
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 sur ce serveur Web et mettent à jour cet objet de session. Si certaines données doivent être stockées dans l'objet de session au cours de la période d'interaction, elles sont stockées dans cet objet de session et y restent tant que la session existe.
Toutefois, si votre site Web est desservi par plusieurs serveurs Web situés derrière un équilibreur de charge, celui-ci détermine le serveur Web réel (physique) auquel chaque demande doit accéder. 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 le serveur B et www.mywebsite.com/accoutdetails.php sont desservis par le serveur C.
Maintenant, si les demandes sont traitées par (physiquement) 3 serveurs différents, chaque serveur a créé un objet de session pour vous et, comme 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 ces sessions de serveur, vous devrez peut-être écrire/lire les données de la session dans une couche commune à tous, comme une base de données. Écrire et lire des données depuis/vers une base de données pour ce cas d'utilisation peut ne pas être une bonne idée. Maintenant, voici le rôle de sticky-session .
Si vous demandez à l'équilibreur de charge d'utiliser des sessions persistantes, toutes vos interactions auront lieu 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.
Pour résumer, dans le cas de sessions collantes, toutes vos demandes seront dirigées vers le même serveur Web physique, tandis que dans le cas d’un loadbalancer non collant, vous pourrez choisir un serveur Web pour répondre à vos demandes.
À titre d'exemple, vous pouvez lire des informations sur Elastic Load Balancer d'Amazon et les sessions collantes d'Amazon ici: http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions .html
J'ai fait une réponse avec quelques détails supplémentaires ici: https://stackoverflow.com/a/11045462/592477
Ou vous pouvez le lire ici ==>
Lorsque vous utilisez l'équilibrage de charge, cela signifie que vous avez plusieurs instances de Tomcat et que vous devez diviser les charges.