IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Clustering Tomcat et objets non serialisés


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 118
    Par défaut Clustering Tomcat et objets non serialisés
    Bonjour,

    Je travaille sur une grosse appli web, qui demande aujourd'hui à être dupliqué sur plusieurs instances tomcat au sein d'un cluster. Problème: un très grand nombre d'objets non sérialisés sont placés en session. Du coup, logiquement, impossible de faire fonctionner l'appli dans le cluster sans que des SerializableException me soient remontées.
    Je cherche donc à faire fonctionner mon bazar sans avoir à Serializer mes objets. J'ai entendu parler du mode StickySession. Quelqu'un saurait m'en dire plus?

    Merci pour vos réponses.

  2. #2
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Le mode Sticky Session, ou affinité de session, permet de renvoyer un utilisateur vers le même serveur. Ça évite donc de dupliquer les sessions entre les nœuds.
    Attention, ce mode n'assure que de la répartition de charge, mais pas de tolérance de panne : si un serveur tombe, toutes ses sessions seront perdues.

    Si tu utilises apache + mod_jk, tu dois positionner un attribut sticky_session dans ton lb worker.
    Si tu utilises apache 2.2 + mod_proxy, c'est un attribut stickysession, dans mod_proxy.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 118
    Par défaut
    Ok. Merci pour ton aide. Ce mode semblerait répondre à mon besoin dans un premier temps. C'est bien ce que j'avais tenté de mettre en place mais je n'arrive pas à le faire fonctionner. Voilà ma conf:

    httpd.conf:

    ProxyPass /ARM balancer://loadbalancer stickysession=JSESSIONID|jsessionid nofailover=Off

    <Proxy balancer://loadbalancer>
    BalancerMember ajp://localhost:8010/ARM route=node1 loadfactor=50
    BalancerMember ajp://localhost:8011/ARM route=node2 loadfactor=50
    </Proxy>

    Mais mon application tourne toujours sur le premier server, et ci je crasche celui-ci, il n'essaie pas de se reconnecter au deuxième quand j'essaie de me reconnecter: "The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later."

  4. #4
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Est-ce que tu as spécifié le jvmroute dans JBoss ? (fichier server.xml, élément Engine)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 118
    Par défaut
    Salut,

    Oui j'ai bien spécifié ma jvmRoute sur mon serveur TOMCAT. En fait, il semblerait que le load balancing marche puisqu'au niveau de mon application, je récupère des JSESSIONID terminant par .node1 ou .node2. Le problème semblerait donc plutôt venir de la gestion de la session dans l'application.

Discussions similaires

  1. SSO dans un cluster Tomcat
    Par grishka dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 15/09/2009, 14h36
  2. Réponses: 1
    Dernier message: 04/05/2006, 11h33
  3. [OBJET] - non-aggregate type error
    Par jacquesh dans le forum C++
    Réponses: 3
    Dernier message: 28/04/2006, 13h49
  4. [gcc/ld] comment "zapper" les objets non référéren
    Par jula dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 05/01/2006, 15h15
  5. [POO] balise ou objet non reconnu lors d'un deploiement serveur
    Par benssj5 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo