Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

17.4.4. Configuration mod_cluster sur httpd

Résumé

mod_cluster est un équilibreur de charges basé httpd. Il utilise un réseau de communication pour envoyer des requêtes de httpd vers un groupe de noeuds de serveur d'applications. Les dérivatifs suivants peuvent être définis pour configurer mod cluster sur httpd.

Note

Il n'est nul besoin d'utiliser les directives ProxyPass car mod_cluster configure automatiquement les URL qui doivent être envoyés à JBossWEB.

Tableau 17.4. Dérivatifs mod_cluster

Dérivatif Description Valeurs
CreateBalancers Définit comment les équilibreurs de charge sont créés dans les hôtes virtuels httpd. Cela active les directives comme : ProxyPass /balancer://mycluster1/.
0: Créer tous les hôtes virtuels httpd
1: Ne pas créer d'équilibreurs (vous aurez besoin d'un ProxyPass ou d'un ProxyMatch au moins pour définir les noms des équilibreurs)
2: Ne créer que le serveur principal
Par défaut: 2
Si vous utilisez la valeur 1, n'oubliez pas de configurer l'équilibreur dans la directive ProxyPass, car la valeur par défaut correspond à une session sticky vide. De plus nofailover=Off et les valeurs reçues via message MCMP CONFIG sont ignorées.
UseAlias Vérifier que l'alias corresponde bien au nom du serveur.
0: Ignorer les alias
1: Vérifier les alias
Par défaut : 0
LBstatusRecalTime Intervalle d'équilibrage de charge (en secondes) de la logique pour recalculer le statut d'un nœud.
Par défaut : 5 secondes
WaitBeforeRemove Durée en secondes avant qu'un nœud supprimé soit oublié par httpd.
Par défaut : 10 secondes
ProxyPassMatch/ProxyPass
ProxyPassMatch et ProxyPass sont des directives mod_proxy qui, quand on utilise ! (à la place de l'url de back-end), évitent un proxy inverse sur le chemin d'accès. Utilisé pour autoriser httpd à fournir des informations statiques comme des images. Par exemple
ProxyPassMatch ^(/.*\.gif)$ !
L'exemple ci-dessus permet à httpd de servir les fichiers .gif directement.
Un nœud en hot-standby dans la logique mod_cluster est le dernier nœud vers qui toutes les demandes seront dirigées si tous les autres nœuds sont hors d'opération. Ceci est similaire à la logique hot-standby dans mod_proxy.
Pour configurer un noeud en hot-standby, remplacer le dynamic-load-provider en mod_cluster subsystem avec un simple-load-provider ayant pour facteur 0, comme par exemple :
<subsystem xmlns="urn:jboss:domain:modcluster:1.2">
    <mod-cluster-config advertise-socket="modcluster" connector="ajp">
-        <dynamic-load-provider>
-            <load-metric type="busyness"/>
-        </dynamic-load-provider>
+        <simple-load-provider factor="0"/>
    </mod-cluster-config>
</subsystem>

Dans la console mod_cluster-manager, le noeud s'affiche avec le statut OK et une charge: 0. Pour plus d'informations, voir la section Apache mod_cluster-manager Application dans le guide JBoss Enterprise Application Platform Development Guide.
Ainsi, s'il y a trois noeuds :
  • Noeud A, Charge : 10
  • Noeud B, Charge : 10
  • Noeud C, Charge : 10
La charge sera équilibrée entre les noeuds A et B. Si les deux noeuds ne sont pas rendus disponibles, le noeud C prendra la charge.
mod_manager

Le contexte d'une directive mod_manager est l'hôte virtuel dans tous les cas, sauf contre indication. Le contexte server config implique que la directive doit se trouver en dehors d'une configuration de l'hôte virtuel. Si tel n'est pas le cas, un message erreur apparaîtra et httpd ne démarrera pas.

Tableau 17.5. Dérivatifs mod_manager

Dérivatif Description Valeurs
EnableMCPMReceive Autorise l'hôte virtuel à recevoir MCPM des noeuds. Inclure EnableMCPMReceive dans la configuration httpd pour permettre au mod_cluster de fonctionner. Le sauvegarder dans l'hôte virtuel de configuration d'advertise.
MemManagerFile
Le nom de base pour les noms que mod_manager utilise pour stocker la configuration, générer des clés pour mémoire partagée ou fichiers verrouillés. Ce doit être un nom de chemin d'accès absolu ; les répertoires seront créés si nécessaire. Il est recommandé que ces fichiers soient placés sur un lecteur local et non pas en NFS share.
Context: config serveur
$server_root/logs/
Maxcontext Le nombre maximum de contextes pris en charge par mod_cluster
Context: config serveur
Par défaut: 100
Maxnode Le nombre maximum de nœuds supportés par le mod_cluster.
Context: config serveur
Par défaut: 20
Maxhost Le nombre maximum d'hôtes (alias) supportés par mod_cluster. Inclut également le nombre maximum d'équilibreurs de charge.
Context: config serveur
Par défaut: 20
Maxsessionid
Le nombre d'ID de sessions actives stockés afin de procurer le nombre de sessions actives du gestionnaire mod_cluster-manager. Une session est inactive quand mod_cluster ne reçoit aucune information de la session pendant 5 minutes.
Context: config serveur
Ce champ est à but de démonstration et de débogage uniquement.
0: la logique n'est pas activée.
MaxMCMPMaxMessSize Taille maximum des messages MCMP en provenance d'autres directives max Calculé sur la base d'autres directives max. Min: 1024
ManagerBalancerName Le nom que l'équilibreur des charges utilise quand JBoss AS/JBossWeb/Tomcat ne fournit pas de nom d'équilibreur.
mycluster
PersistSlots Indique à mod_slotmem de persister les nœuds, les alias et les contextes dans des fichiers.
Context: config serveur
Off
CheckNonce Contrôle de la vérification de la valeur unique avec le gestionnaire mod_cluster=manager.
on/off
Par défaut : on - Nonce checked
AllowDisplay Contrôle des affichages supplémentaires sur la page principale du mod_cluster-manager.
on/off
Par défaut : off - seule la version sera affichée
AllowCmd Autorise les commandes qui utilisent l'URL mod_cluster-manager.
on/off
Par défaut: on - Les commandes sont autorisées
ReduceDisplay Réduit le montant d'informations affichées sur la page principale de mod_cluster-manager, afin qu'un plus grand nombre de noeuds puissent être affichés sur la page.
on/off
Par défaut : off - les informations complètes s'affichent
SetHandler mod_cluster-manager
Affiche des informations sur le nœud que mod_cluster voit dans le cluster. L'information comprend des informations génériques et compte aussi le nombre de sessions actives.
						
							<Location /mod_cluster-manager>
							SetHandler mod_cluster-manager
							Order deny,allow
							Allow from 127.0.0.1
							</Location>

on/off
Par défaut : off

Note

Quand on accède à l'emplacement défini dans httpd.conf :
Transferred : correspond aux données POST envoyées du serveur de back-end.
Connected : correspond au nombre de requêtes traitées au moment où la page de statuts du mod_cluster a été demandée.
Num_sessions : correspond au nombre de sessions que le rapport mod_cluster a reporté comme étant inactives (sur lesquelles il y a eu une requête au cours des 5 dernières minutes). Ce champ n'est pas présent quand Maxsessionid est égal à zéro. Ce champ est à but de démonstration et de débogage uniquement.