Quelles sont les différentes approches pour la réplication de la session Java EE?
-
14-11-2019 - |
Question
Je travaille sur un projet qui nécessite une très grande disponibilité et mon équipe travaille actuellement à la mise à niveau d'une infra-structure et d'un logiciel pour une future version.
L'une des fonctionnalités que nous aimerions permettre est d'avoir une réplication de session à travers des serveurs différents, mais idéalement sur différents sites (répartition géographiquement). Est-ce possible? Quelles sont les approches?
Pour ce que j'ai vu jusqu'à présent, pour permettre la réplication de la session, les approches habituelles du fournisseur sont soit l'une de ces éléments:
- Attributs de session sérialisables
- <étiquette distribuable /> dans le web.xml avec une configuration supplémentaire dans XML spécifique au fournisseur
Y a-t-il d'autres approches? Dois-je opter pour une réplication en mémoire? Ou dois-je persister l'état de session? Quelles fournisseurs de serveurs d'applications implémentent chaque solution?
Edit: J'ai commencé une prime, donc je cherche vraiment une réponse complète. :)
La solution
Vous voudrez peut-être regarder Noisette et leur Clustering de session HTTP caractéristique
Autres conseils
Si vous utilisez Tomcat, Memcached-Session-Manager serait une option. C'est un gestionnaire de session personnalisé qui reproduit les sessions via Memcached et prend en charge les séances collantes et non cadies: http: // code.google.com/p/memcached-sesession-manager
Bravo, Martin
Jeter un coup d'œil à Cohérence d'oracle avec le module de gestion de session HTTP Cohérence * web.
Il est essentiellement en mémoire, mais peut être plus de persistance par la base de données ou d'autres stockages.