Load Balancing

Effectuer du load balancing avec les modules proxy, proxy_balancer et proxy_ajp d'Apache2

Activer les modules nécessaires :

$ sudo a2enmod proxy
$ sudo a2enmod proxy_balancer
sudo a2enmod proxy_ajp

Paramétrage en mode HTTP :

Ajouter dans le fichier httpd.conf situé dans le répertoire conf d'Apache (ajuster les valeurs en rouge)

<Proxy balancer://mycluster>
BalancerMember http://adresseIpDuServeur1 min=10 max=500 timeout=60 loadfactor=1
BalancerMember http://adresseIpDuServeur2 min=10 max=500 timeout=60 loadfactor=1
</Proxy>
 
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /monAdresse balancer://mycluster stickysession=JSESSIONID scolonpathdelim=On
ProxyPassReverse /monAdresse balancer://mycluster stickysession=JSESSIONID scolonpathdelim=On
 

Paramétrage en mode AJP (Tomcat) :

Ajouter dans le fichier httpd.conf situé dans le répertoire conf d'Apache (ajuster les valeurs en rouge)

ProxyPass /monAdresse balancer://mycluster stickysession=JSESSIONID scolonpathdelim=On
<Proxy balancer://mycluster>
BalancerMember ajp://adresseIpDuServeur1:8009/ min=10 max=500 timeout=60 route=node1 loadfactor=1
BalancerMember ajp://adresseIpDuServeur1:8009/ min=10 max=500 timeout=60 route=node2 loadfactor=1
Order deny,allow
Allow from all
</Proxy>
 
Modifier les fichiers serveur.xml situé dans les répertoires conf de Tomcat (sur tous les serveurs à utiliser)
Décommenter la ligne :
<Connector maxThreads="400" port="8009" protocol="AJP/1.3" redirectPort="8443" />
Décommenter et modifier la ligne (incrémenter la valeur du node pour chaque serveur) :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="noden">
 
Pour finir, redémarrer tous les serveurs Tomcat et le serveur Apache pour prendre en compte les modifications.