2017-03-01 4 views
1

Je rencontre un problème dans la réplication de session. J'utilise l'instance de tomcat dans AWS et RDS MYSql. Nous avons un plan pour stocker la session cookie dans le RDS au lieu de mettre en cluster les instances de tomcat. J'ai deux instances de tomcat dans deux zones différentes et l'instance de tomcat possède un conteneur docker qui est un conteneur d'application (1 conteneur dans chaque instance). Lorsque l'utilisateur s'est connecté au conteneur, je pouvais voir que la session était stockée dans la base de données, mais je faisais l'un des conteneurs docker, l'utilisateur devait être connecté en utilisant les cookies disponibles dans MySQL RDS. Mais quand je fais descendre un conteneur docker (où l'utilisateur est connecté), la deuxième instance de tomcat devrait utiliser les cookies de MySQL et l'utilisateur devrait être connecté sans aucun problème. Mais l'utilisateur est déconnecté tout le temps quand j'arrête le conteneur docker.Réplication de session à l'aide d'AWS Tomcat et RDS

Répondre

1

Cela signifie que votre ELB conserve une trace des instances vers lesquelles il a précédemment redirigé les utilisateurs, et redirige à nouveau la requête vers la même instance. Vous devez désactiver les sessions persistantes sur l'ELB et utiliser plutôt Sticky Session sur vos applications, de sorte que l'application Tomcat décide de la session à utiliser plutôt que de l'ELB elle-même. Veuillez lire les documents AWS ELB pour les instructions étape par étape.

+0

Sa redirection vers la deuxième instance, lorsque le conteneur de la première instance/docker est en panne. Mais je dois fermer le navigateur et le rouvrir à nouveau, puis il me montre la page de connexion de l'application. En fin de compte, la deuxième instance doit utiliser les cookies présents dans la base de données pour maintenir la session en cours. –