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

Wildfly/JBoss Java Discussion :

Load balancing avec JBoss et Apache 2 [Tutoriel]


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre actif

    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 33
    Points : 217
    Points
    217
    Par défaut Load balancing avec JBoss et Apache 2
    Bonjour à tous,
    petite espace pour échanger autour du tutoriel que j'ai écrit qui permet de s'initier aux joies du load balancing avec apache dans le cadre de serveurs JBoss http://npnoel-perez.developpez.com/t...loadbalancing/.
    N'hésitez pas à me faire vos retours ou à me poser toutes vos questions.
    Bonne lecture.

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

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Salut Noël,

    Nous utiliserons mod_jk qui est le plus répandu.
    Je ne suis pas aussi certain que toi. Il me semble que dans les installations récentes, mod_proxy a la côte. Il a beaucoup progressé fonctionnellement et il est très apprécié des admins Apache car sa config est typée Apache et parce qu'il se mixe très facilement avec d'autres modules comme le mod_rewrite. De plus, il supporte AJP ou HTTP, ce qui plait souvent aux admins réseau.

    Ce serait intéressant d'avoir une meilleure vision des déploiements respectifs...

  3. #3
    Membre actif

    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 33
    Points : 217
    Points
    217
    Par défaut
    Bonjour,
    je suis d'accord avec toi sur l’intérêt du mod_proxy mais si on se réfère à la base installée, il semble en retard. Cela dépend aussi des domaines et de l'utilisation. On peut aussi s'attendre à une forte montée du mod_cluster de JBoss qui a vraiment de très gros atouts mais qui n'est pas assez utilisé en production pour le moment ce qui empêche sa généralisation.

    Citation Envoyé par hasalex Voir le message
    Salut Noël,

    Je ne suis pas aussi certain que toi. Il me semble que dans les installations récentes, mod_proxy a la côte. Il a beaucoup progressé fonctionnellement et il est très apprécié des admins Apache car sa config est typée Apache et parce qu'il se mixe très facilement avec d'autres modules comme le mod_rewrite. De plus, il supporte AJP ou HTTP, ce qui plait souvent aux admins réseau.

    Ce serait intéressant d'avoir une meilleure vision des déploiements respectifs...

  4. #4
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Un très bon article.

    Le titre pourrait penser à un sujet complexe mais ta présentation rend la mise en place très simple.

    Une question. Tu parles de la mise en oeuvre sur JBoss, je suppose que c'est valable pour d'autres serveur d'application Jetty, Tomcat, ...

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    salut .

    merci pour le tuto mais en essayant de le mettre en ouevre j'ai eu quelque problèmes

    j'ai cette erreur lorsque j'ai copier ceci dans le fichier httpd.conf :

    LoadModule jk_module modules/mod_jk.so

    # Where to find workers.properties
    # Update this path to match your conf directory location (put workers.properties next to httpd.conf)
    JkWorkersFile conf/workers.properties
    # Where to put jk shared memory
    # Update this path to match your local state directory or logs directory
    JkShmFile logs/mod_jk.shm
    # Where to put jk logs
    # Update this path to match your logs directory location (put mod_jk.log next to access_log)
    JkLogFile logs/mod_jk.log
    # Set the jk log level [debug/error/info]
    JkLogLevel info
    # Select the timestamp log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    JkMount /* loadbalancer
    <IfModule worker.c>
    StartServers2
    MaxClients150
    MinSpareThreads25
    MaxSpareThreads75
    ThreadsPerChild25
    MaxRequestsPerChild0
    </IfModule>



    voila l'erreur :

    * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    bon il parrait que j'avait un autre serveur web ouvert sur la machine .

    j'ai plus cette erreur mais j'ai une erreur de segmentation lorsque je lance mon serveur web .

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    J'ai mis en oeuvre cette architecture sans loadbalancer afin de pouvoir appeler à partir d'un serveur apache différentes applications situées sur différents serveurs JBoss.
    Et j'ai des pertes de communication décrites dans le post ci dessous :

    http://www.developpez.net/forums/d10...-jboss-apache/

    Auriez vous une idée ?

  8. #8
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    En octobre dernier je suis allé faire une présentation au ChtiJUG sur le sujet.
    Une video est disponible ici:

    Les 10 premières minutes sont consacrées à une présentation de Red Hat. Allez au delà pour passer cette partie.

  9. #9
    Membre régulier Avatar de skulled
    Inscrit en
    Décembre 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 120
    Points : 120
    Points
    120
    Par défaut
    Bonjour,

    J'ai suivi le tutoriel que j'ai trouvé fort intéressant et bien expliqué.
    Moi qui voulais faire du loadbalancing j'ai été servi, merci

    Parcontre j'ai un peu galéré pour faire fonctionner mod_jk, en effet étant sur ubuntu il y a des spécifités à respecter comme par exemple dans le fichier /etc/hosts j'ai du remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    127.0.0.1    localhost
    127.0.1.1    ubuntu 
    ...
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    127.0.0.1    localhost.localdomain localhost ubuntu
    ...
    Je le dis au cas où certains auraient le même souci.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Points : 66
    Points
    66
    Par défaut la redirection ne marche pas
    Bonjour

    merci pour votre article, je me suis servi pour mettre en place le loadbalancing, mais j'ai un souci :

    j'ai déclaré 3 worker, deux actif et 1 disabled pour prendre la main au cas ou un des deux serveur s'arrete mais ça marche pas voici la config :

    worker.list=loadbalancer,status
    # Set properties for worker1 (ajp13)
    worker.worker1.type=ajp13
    worker.worker1.host=ip.server1
    worker.worker1.port=7009
    worker.worker1.lbfactor=1
    worker.worker1.connection_pool_size=10
    worker.worker1.redirect=worker3

    # Set properties for worker2 (ajp13)
    worker.worker2.type=ajp13
    worker.worker2.host=ip.server2
    worker.worker2.port=7009
    worker.worker2.lbfactor=1
    worker.worker2.connection_pool_size=10
    worker.worker2.redirect=worker3

    # Set properties for worker3 (ajp13)
    worker.worker3.type=ajp13
    worker.worker3.host=ip.server3
    worker.worker3.port=7009
    worker.worker3.lbfactor=1
    worker.worker3.connection_pool_size=10
    worker.worker3.activation=disabled

    #fonctionnement de l'equilibrage de charge
    worker.loadbalancer.type=lb
    worker.loadbalancer.balance_workers=worker1,worker2,worker3
    worker.loadbalancer.sticky_session=True
    worker.status.type=status



    et coté jboss


    <Connector port="7009" address="${jboss.bind.address}"
    emptySessionPath="true" enableLookups="false" redirectPort="18443"
    protocol="AJP/1.3"/>

    <Engine name="jboss.web" defaultHost="localhost" jvmRoute="worker1">
    .....

    pareil pour les 3 jboss

    si j'arrete le premier serveur ou le 2 la redirection ne se fait pas sur le 3 server mais sur l'un des deux premiers !! par contre si j'arrete les deux premiers alors le 3 serveur prend bien la main !!

    est-ce que c'est la bonne config ??


    merci

  11. #11
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Tu peux préciser le nom du worker de redirect pour worker1 et worker2 en indiquant worker3:

    worker.worker1.redirect=worker3

    "Set to the name of the preferred failover worker. If worker matching SESSION ID is in error state then the redirect worker will be used instead. It will be used even if being disabled, thus offering hot standby. "
    Note: Utilises "d" ou "D" au lieu de "disabled" qui est déprécié.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Points : 66
    Points
    66
    Par défaut
    c'est déja fait !

    worker.worker1.redirect=worker3
    worker.worker2.redirect=worker3

  13. #13
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Citation Envoyé par eric95 Voir le message
    c'est déja fait !

    worker.worker1.redirect=worker3
    worker.worker2.redirect=worker3
    Ha oui!
    Sorry je reviens d'un séjour difficile

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Points : 66
    Points
    66
    Par défaut
    re bonjour

    j'ai une autre question :

    peut-ton mixer mode_jk pour le load balancing et mod_dav pour serveur de fichier ?

    je voudrais que mon serveur apache dispatche les requetes vers des serveur jboss (load balancing) et en meme temps s'il reçoi des requetes particulieres il fait serveur de fichier et renvoi en retour un fichier html ou pdf selon la demande mais ne redirige pas la requete vers les serveur jboss !!

    est-ce possible ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Points : 66
    Points
    66
    Par défaut
    oui on peut avec JkMount d'apache desolé ...

  16. #16
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut http://cosinusc.blogspot.com/2012/01/load-balancing-jk-apache2-jboss.html

  17. #17
    Membre régulier
    Inscrit en
    Décembre 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 153
    Points : 106
    Points
    106
    Par défaut
    Auriez-vous un tuto ou de la doc pour utiliser mod_proxy à la place de mod_jk ? Je ne veux pas faire du load balancing dans 1 premier temps, je vais juste mettre en place un failover.

    Merci

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 81
    Points : 67
    Points
    67
    Par défaut et si apache crash ?
    Bonjour,

    Merci pour ce très bon tuto, cependant une question peut se poser : que se passe t'il si notre serveur apache effectuant le load-balancing crash ? On a bien une indisponibilité de nos applications ?
    Comment peut-on y remédier ?

    Merci pour vos réponses

  19. #19
    Membre actif

    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 33
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par flomomo Voir le message
    Bonjour,

    Merci pour ce très bon tuto, cependant une question peut se poser : que se passe t'il si notre serveur apache effectuant le load-balancing crash ? On a bien une indisponibilité de nos applications ?
    Comment peut-on y remédier ?

    Merci pour vos réponses
    Bonjour Flomomo
    En général si on veut se prémunir de ce cas on peux utiliser le serveur de DNS pour avoir un serveur de repli rapidement utilisable mais c'est un point que je ne maitrise pas en paramètrage, je n'ai donc pas d'exemple :S

Discussions similaires

  1. Load balancing avec timeout et débordement
    Par delagoutte dans le forum Apache
    Réponses: 1
    Dernier message: 09/07/2009, 09h21
  2. Faire du load balancing avec Hibernate ?
    Par Ougha dans le forum Hibernate
    Réponses: 6
    Dernier message: 06/02/2009, 07h26
  3. Load balancing avec 2 wan
    Par beloc dans le forum Réseau
    Réponses: 3
    Dernier message: 04/10/2006, 01h24

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