Suite à la formation JBoss plusieurs tests s'offrent à moi mais il y en a un qui me tient plus à cœur : le load balancing. Pourquoi cela? Après tout en tant qu'Architecte logiciel certain considèrent que notre problématique et de savoir que cela existe. La technique restant aux administrateur et architecte SI. Personnellement ce n'est pas ma conception et même si je ne prétend pas avoir les mêmes compétences je souhaite savoir de quoi je parle.

Tout d'abord une petite définition du load balancing : ou répartition de charge est une technique utilisée en informatique pour distribuer un travail entre plusieurs processus, ordinateurs, disques ou autres ressources ( source wikipedia ).

Le load balancing peut se faire de différentes manières :

  • hard : solution permettant de résister à la plus forte charge, elle aura des problèmes en cas de répartition sur un protocole haut niveau à session,
  • soft : permet de facilement gérer des répartition de charge avec respect de session.

Pour mon test, je me suis intéressé uniquement à la partie logiciel avec la configuration la plus courante dans le monde java :

  • deux serveurs JBoss ( ici avec des configurations différentes mais une application commune, habituellement les deux serveurs seront totalement iso )
  • un serveur apache sur lequel j'ai activé le module mod_jk.

Résultat, j'ai pu répartir la charge et vérifier dans la console JMX JBoss que les requêtes étaient bien avec affinité de session. Puis j'ai touché les réglages pour assurer la continuité de service en cas de panne d'un serveur JBoss et son retour dans le SI quand le serveur est relancé.

J'écris actuellement un document autour de ces essais que je publierais soit sur un site officiel, soit sur mon site personnel.