Tutoriel clustering jboss : load balancing et reprise sur incident

////Tutoriel clustering jboss : load balancing et reprise sur incident

Mettez en œuvre un cluster vertical Jboss. Découvrez les techniques permettant d’assurer avec Jboss (4/5) la répartition de charge (load balancingà) et la reprise sur incident (fail over).

Pré-requis

Hypothèse : vous savez mettre en oeuvre une intégration Apache avec 1 instance de Jboss. Si ce n’est pas le cas, mettez en oeuvre le Tutoriel suivant.

Programme

 Partie 1 : démarrage 2 instances de Jboss sur 1 machine

 Partie 2 : configuration de Jboss (affinité session + valve ‘RequestDumper)’

 Partie 3 : configuration Apache / mod_jk

 Partie 4 : configuration et déploeiement de l’application

 Partie 5 : test de l’affinité de session

 Partie 6 : test du load balancing

 Partie 7 : test de la reprise sur incident

 Partie 8 : supervison

Partie 1 : démarrage 2 instances JBOSS sur la même machine

 en utilisant la configuration ‘all’ de JBOSS, démarrez 2 instances de Jboss (noeud1 et noeud2) sur la même machine.

QUESTION : comment est gérée la problématique de conflit de ports avec Jboss 4 ? et avec Jboss 5 ?

INFO : pour Jboss 4.2.x, gérer le conflit de ports via le service BindingManager à configurer dans /conf/jboss-service.xml . Ce service gère automatiquement la translation (+100 pour ports-01, +200 pour ports-02) des ports d’une instance par rapport à l’instance de le configuration ‘default’. Par exemple, le port web de l’instance 1 sera 8180 (= 8080 +100) et le port web de l’instance 2 sera 8280 (= 8080 +200)

bindingManager-jboss4

 Expliquez

Partie 2 : Configuration Jboss

Noeud 1

 Dans le fichier server.xml du nœud 1 :

— Ajoutez à la balise Engine l’attribut jvmRoute= »noeud1″ (même libellé que httpd.conf)

Ce paramètre est utile pour le concept d’affinité de session. Expliquez.

— Si vous ne souhaitez pas utiliser le service de Binding , modifiez manuellement l’attribut port du connecteur AJP de 8080 vers 81009
tutoriel-jboss-load-balancing-equilibrage-charge-mod-jkbis

Noeud 2

 Faire idem pour le fichier server.xml du noeud2 , avec cette fois-ci :

— jvmRoute= »noeud2″

— port AJP = 8280

Valve ‘RequestDumper’

— (OPTIONNEL) Décommentez pour chaque instance la valve requestDumper présente et par défaut commentée dans le server.xml. Ceci nous permettra de voir lors des tests sur la console quel noeud est sollicité suite à requête.

tutoriel-jboss-load-balancing-equilibrage-charge-mod-jk-4

Partie 3 : configuration Apache / mod_jk

 Configurer workers.properties

tutoriel-jboss-load-balancing-equilibrage-charge-mod-jk-2ter

 Expliquez.

 Configurer httpd.conf

tutoriel-jboss-load-balancing-equilibrage-charge-mod-jk-3

 Expliquez

Partie 4 : préparation de la livraison

Afin de permettre la réplication de session pour un war , vous devez ajouter la balise ‘distributable’ dans le web.xml

tutoriel-jboss-load-balancing-equilibrage-charge-mod-jk-5

 Packager et déployez l’application dans les répertoires ‘deploy’ de chaque noeud

Partie 5 : test affinité de session

 Arréter puis démarrer Jboss

 Arréter puis démarrer Apache

 Analysez dans log mod_jk puis dans logs console des nœuds le résultat des requêtes suivantes :

— http://localhost

— http://localhost/hellostruts/

tutoriel-jboss-load-balancing-equilibrage-charge-mod-jk-7

 Sur quel nœud se trouve t’on ?

 Quelle est le numéro de session utilisateur ?

 Rafraichissez la page. En déduire que l’affinité de session fonctionne.

Partie 6 : test load balancing

 Ouvrez une nouvelle fenêtre de navigateur

 Analysez dans logs console des noeuds le résultat des requêtes suivantes :

— http://localhost/hellostruts/

Montrez que c’est l’autre nœud qui répond.

En déduire que la répartition de charge est effective

 Modifiez la pondération : 5 requête pour le nœud 1 pour 1 requête pour le nœud 2.

Partie 7 : test reprise sur incident

 Arrêtez le noeud sur lequel l’application répond.

 Rafraichissez à nouveau la page.

Montrez via les logs de la console de l’autre noeud que celui ci répond avec la même session qu’avant .

Partie 8 : Supervision

 En utilisant la documentation de Tomcat, expliquer ce qu’est le worker ‘status’

 Configurez le worker status

Fichiers corrigés de configuration

configuration

Jboss 7

 Noeud1 : standalone.bat -c standalone-ha.xml -b 192.168.0.2 -bmanagement 192.168.0.2 -Djboss.node.name=noeud1

 Node2 (ajout d’un Offset) standalone.bat -c standalone-ha.xml -b 192.168.0.2 -bmanagement 192.168.0.2 -Djboss.node.name=noeud1 -Djboss.socket.binding.port-offset=100

2018-01-27T19:31:29+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java