Tomcat: Magasin de session dans la base de données
Je suis à la recherche d'un moyen d'éviter à la mémoire de réplication de session/clustering et de stocker la session dans une base de données. À l'aide de Tomcat JDBCStore est inutile à ce point, car il ne stocke que les sessions inactives dans la base de données pour enregistrer les serveurs de la mémoire.
Des suggestions?
Merci d'avance
Fabian
Par curiosité, avez-vous regardé Elastic Beanstalk d'Amazon? Ils fournissent des sessions pense-bête.
OriginalL'auteur Fabe | 2011-01-31
Vous devez vous connecter pour publier un commentaire.
Si vous ne souhaitez pas utiliser la session dans la façon dont il est censé être utilisé, alors ne pas l'utiliser du tout - développer votre propre objet de session. Il peut encore mettre en œuvre
HttpSession
, et même s'étendre à partir d'une mise en œuvre deHttpSession
.Vous pouvez utiliser un
Filter
pour envelopper votre demande afin qu'elle retourne votre session de l'objet plutôt que le standard. Dans votre session, vous pouvez stocker les choses en DB au lieu d'en mémoire.À la place de l'écriture dans la bd, vous pouvez utiliser Hazelcast - il fournit des distribué des collections. Mais j'imagine que ça va prendre la même quantité d'effort que pour configurer la réplication de session. Et la réplication de session n'est pas quelque chose de difficile - il est pris en charge par tous les conteneurs.
Ce sont à titre indicatif, la tâche ne sera pas trivial. Et je vous recommande de coller à la session standard des modèles d'utilisation et stocker des choses dans la DB que si vraiment nécessaire.
Afin d'éviter la nécessité de réplication vous pouvez essayer en utilisant sessions pense-bête - c'est à dire lorsqu'un utilisateur est dirigé vers un serveur par le programme d'équilibrage de charge, chaque demande ultérieure par l'utilisateur est envoyé à la même serveur.
Je n'ai pas d'exemples, désolé.
OriginalL'auteur Bozho
Vous voudrez peut-être regarder à ce projet, je préférerais stocker les sessions dans memcached plutôt que dans la DB.
projet intéressant en effet, +1
btw, memcached-session-manager 1.4 est maintenant disponible avec un support pour les non-collante sessions
OriginalL'auteur mindas
Me semble il n'y a pas de chemin puis la mise en œuvre d'un JDBC Gestionnaire de Session sur mon propre, mais merci pour vos réponses et le temps de Hazelcast besoins de certains regarder de plus près, il semble très puissant pour moi. Je vais faire quelque chose de similaire, comme J. m. brisbin: http://jbrisbin.com/web2/articles/tomcat-session-manager-backed-by-riak/
OriginalL'auteur Fabe