Menu Close
Settings Close

Language and Page Formatting Options

19.5.2. Configurer le sous-système mod_cluster

Dans la console de gestion, les options de mod_cluster sont disponibles dans la zone de configuration du sous-système Web. Cliquer sur l'onglet Configuration. Si vous utilisez un domaine géré, sélectionnez le bon profil pour configurer dans la boîte de sélection de Profile. Par défaut, les profils ha et full-ha ont le sous-système mod_cluster activé. Si vous utilisez un serveur autonome, vous devez utiliser le profil standalone-ha ou standalone-full-ha pour démarrer le serveur. Étendrer le menu Web et choisissez mod_cluster. Les options sont expliquées dans les tableaux ci-dessous. La configuration générale est indiquée en premier, suivie de la configuration de sessions, les contextes web, proxy, SSL et réseautage. Chacune d'elles possède son propre onglet dans l'écran de configuration de mod_cluster

Note

La page de configuration mod_cluster n'est visible que pour les profils avec le sous-système HA Clustering subsystem activé. Ces profils sont ha et full-ha pour un domaine géré, ou standalone-ha et standalone-full-ha pour un serveur autonome.

Tableau 19.4. Options de configuration mod_cluster

Option Description CLI Command
Load Balancing Group
Si non nulles, les requêtes devront être envoyées vers un groupe d'équilibrage de charges sur l'équilibreur de charges. Laisser cet espace vide si vous ne souhaitez pas utiliser ces groupes d'équilibrage des charges.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=load-balancing-group,value=myGroup)
Balancer
Le nom de l'équilibreur. Doit correspondre à la configuration du proxy httpd.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=balancer,value=myBalancer)
Socket Advertise
Le nom de la liaison de sockets à utiliser pour les annonces de cluster.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-socket,value=modcluster)
Advertise Security Key
Une chaîne contenant la clé de sécurité à annonce.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-security-key,value=myKey)
Advertise
Indique si les annonces sont activées. Valeur par défaut true.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise,value=true)

Tableau 19.5. Options de configuration de session mod_cluster

Option Description CLI Command
Sticky Session
Si vous souhaitez utiliser des sessions pour les demandes. Cela signifie qu'après que le client ait établi une connexion sur un nœud de cluster spécifique, leur transmission ultérieure est routée vers ce même nœud à moins qu'il ne soit plus disponible. La valeur par défaut est true, qui est le paramètre recommandé.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session,value=true)
Sticky Session Force
Si sur true, la demande ne sera pas redirigée vers un nouveau nœud de cluster si son nœud initial n'est plus disponible mais échoue à la place. La valeur par défaut est false.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session-force,value=false)
Sticky Session Remove
Supprime les informations de la session après le basculement. Cela a comme valeur par défaut false.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session-remove,value=false)

Tableau 19.6. Options de configuration de contexte web mod_cluster

Option Description CLI Command
Auto Enable Contexts
Si on doit ajouter de nouveaux contextes à mod_cluster par défaut ou non. La valeur par défaut true. Si vous modifiez la valeur par défaut et que vous devez activer le contexte manuellement, l'application web peut activer son contexte à l'aide de la méthode MBean enable(), ou via le gestionnaire mod_cluster, une application web qui s'exécute sur le serveur proxy httpd, sur un hôte virtuel nommé ou le port qui est spécifié dans la configuration de cet httpd.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=auto-enable-contexts,value=true)
Excluded Contexts
Une liste séparée par des virgules de contextes que mod_cluster doit ignorer. Si aucun hôte n'est indiqué, l'hôte est censé être localhost. ROOT indique le contexte racine de l'application web. La valeur par défaut est ROOT,invoker,jbossws,juddi,console.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=excluded-contexts,value="ROOT,invoker,jbossws,juddi,console")

Tableau 19.7. Options de configuration proxy de mod_cluster

Option Description CLI Command
Proxy URL
Si défini, cette valeur sera ajoutée à l'URL des commandes MCMP.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-url,value=myhost)
Proxy List
Une liste séparée par des virgules des adresses proxy httpd, dans le format hostname:port. Ceci indique la liste des serveurs proxy avec lesquels le processus de mod_cluster va tenter de communiquer au départ.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-list,value="127.0.0.1,127.0.0.2")
Configurer la communication SSL pour mod_cluster

Par défaut, la communication mod_cluster a lieu sur un lien HTTP crypté. Si vous définissez le schéma du connecteur à HTTPS (voir Tableau 19.5, « Options de configuration de session mod_cluster »), les paramètres ci-dessous indiquent à mod_cluster où trouver les informations pour encoder la connexion.

Tableau 19.8. Options de configuration SSL de mod_cluster

Option Description CLI Command
ssl
Indique si on doit activer SSL. Valeur par défaut false.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ssl,value=true)
Key Alias
Clé alias choisie quand le certificat est créé.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-alias,value=jboss)
Key Store
L'emplacement où le keystore garde les certificats clients.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-store,value=System.getProperty("user.home") + "/.keystore")
Key Store Type
Le type de keystore
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-store-type,value=JKS)
Key Store Provider
Le fournisseur de keystore
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-store-provider,value=IBMJCE)
Password
Mot de passe choisi quand le certificat est créé.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=password,value=changeit)
Trust Algorithm
L'algorithme de la fabrique de gestionnaire de confiance
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=trust-algorithm,value=PKIX)
Cert File
L'emplacement du fichier de certificats.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-certificate-file,value=${user.home}/jboss.crt)
CRL File
Fichier de la liste de révocation du certificat.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-crl-file,value=${user.home}/jboss.crl)
Max Certificate Length
La longueur maximum du certificat contenue dans le trust store. Valeur par défaut 5.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=trust-max-cert-length,value=5)
Key File
L'emplacement du fichier clé du certificat.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=certificate-key-file,value=${user.home}/.keystore)
Cipher Suite
La suite cipher d'encodage autorisée.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=cipher-suite,value=ALL)
Certificate Encoding Algorithms
L'algorithme de la fabrique de gestionnaire de clés.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=encoding-algorithms,value=ALL)
Revocation URL
L'URL de la liste de révocation de l'autorité de certificat
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-revocation-url,value=jboss.crl)
Protocol
Les protocoles SSL activés.
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=protocol,value=SSLv3)
Configurer les options de réseautage de mod_cluster

Les options de réseautage de mod_cluster contrôlent des comportements de timeout différents pour des types de services variés avec lesquels le service mod_cluster communique.

Tableau 19.9. Options de configuration de réseautage de mod_cluster

Option Description CLI Command
Node Timeout
Timeout (en secondes) des connexions de proxy vers un nœud. C'est que le temps pendant lequel mod_cluster attendra la réponse du back-end avant de retourner l'erreur. Cela correspond au délai d'attente de la documentation mod_proxy du worker. La valeur -1 indique aucun délai d'attente. Notez que mod_cluster utilise toujours un cping/cpong avant d'adresser une demande et la valeur connectiontimeout utilisée par mod_cluster est la valeur de ping.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=node-timeout,value=-1)
Socket Timeout
Nombre de millisecondes durant lesquelles patienter avant d'obtenir une réponse d'un proxy httpd suite à des commandes MCMP avant le timeout, et indiquer erreur de proxy.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=socket-timeout,value=20)
Stop Context Timeout
Durée, mesurée dans les unités spécifiées par stopContextTimeoutUnit, pendant laquelle attendre l'arrêt net d'un contexte (fin des demandes en attente pour un contexte distribuable; ou destruction/expiration des sessions actives pour un contexte non distribuable).
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=stop-context-timeout,value=10)
Session Draining Strategy
Indique si on doit drainer les sessions avant de retirer le déploiement d'une application web.
DEFAULT
Sessions de drainage avant qu'une application web retire son déploiement si l'application web n'est pas distribuable.
ALWAYS
Toujours drainer les sessions avant le retrait du déploiement d'une application web, même pour les applications web distribuables.
NEVER
Ne pas drainer les sessions avant le retrait du déploiement d'une application web, même pour les applications web non distribuables.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=session-draining-strategy,value=DEFAULT)
Max Attempts
Nombre de fois qu'un proxy httpd va tenter d'envoyer une requête donnée à un worker avant d'abandonner. La valeur minimale est 1, ce qui signifie essayer une seule fois. La valeur par défaut du module mod_proxy est également 1, ce qui signifie qu'aucune nouvelle tentative ne se produit.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=max-attempts,value=1)
Flush Packets
Indique si on doit activer le vidage des paquets dans le serveur web. Valeur par défaut false.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-packets,value=false)
Flush Wait
Durée, en secondes, pendant laquelle on doit attendre le vidage des paquets dans le serveur web. -1 est la valeur par défaut. A value of -1 indique une attente indéfinie avant de vider les paquets.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-wait,value=-1)
Ping
Durée, en secondes, pendant laquelle attendre une réponse au ping d'un noeud de cluster. Valeur par défaut 10 secondes.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=ping,value=10)
SMAX
Le nombre de soft connexions inactives maximales (le même que smax dans la documentation du module de worker mod_proxy). La valeur maximale dépend de la configuration de thread httpd et peut être ThreadsPerChild ou 1.
profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=smax,value=ThreadsPerChild)
TTL
Time To live (en secondes) pour les connexions inactives au dessus de smax, la valeur par défaut est 60
Quand nodeTimeout n'est pas défini, le Proxy de la directive ProxyTimeout est utilisé. Si ProxyTimeout n'est pas défini, alors le Timeout sera utilisé. La valeur par défaut est de 300 secondes. nodeTimeout, ProxyTimeout, et Timeout sont définis au niveau socket.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=ttl,value=-1)
Node Timeout
La durée d'attente, en secondes, pour le traitement d'une requête par un processus de travail de serveur web externe. Par défaut, -1, ce qui signifie que mod_cluster attend indéfiniment la requête traitée par le worker httpd.
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=node-timeout,value=-1)
Options de configuration de load provider de mod_cluster

Les options de configuration de mod_cluster suivantes ne sont pas disponibles dans la console de gestion, et ne peuvent être uniquement être définies en utilisant l'interface CLI en ligne de commandes.

Un simple fournisseur de charge est utilisé si aucun processeur de charge dynamique n'est présent. Il donne à chaque membre du cluster un facteur de charge 1, et répartit uniformément les travaux sans prendre en compte un algorithme d'équilibrage de charges. Pour l'ajouter, utilisez la commande CLI suivante :
/subsystem=modcluster/mod-cluster-config=configuration/simple-load-provider:add
Un fournisseur de charge dynamique peut être configuré pour utiliser une variété d'algorithmes, en combinaison, pour déterminer quel nœud de cluster recevra la demande suivante. Vous pouvez créer un fournisseur de charge et le configurer pour qu'il soit adapté à votre environnement. et vous pourrez avoir plus d'un métrique de charge active en même temps, en les ajoutant par l'interface CLI. Le fournisseur de charge dynamique par défaut utilise busyness comme métrique de charge déterminant. Les options de fournisseur de charge dynamique et les métriques de charge possible se trouvent ci-dessous.

Tableau 19.10. Options de load provider dynamic de mod_cluster

Option Description CLI Command
Decay
Le facteur par lequel les métriques historiques se désintègrent de façon significative.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=decay,value=2)
History
Le nombre d'enregistrements de métriques de charge historique à considérer pour déterminer la charge.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=history,value=9)
Load Metric
Le métrique de charge par défaut incluse avec le fournisseur de charge dynamique dans JBoss EAP 6 est busyness, qui calcule la charge du nœud de worker en fonction de la quantité de threads dans le pool de threads devant servir les requêtes. Vous pouvez définir la capacité de ce métrique par lequel la charge réelle est divisée : charge calculée / capacité. Vous pouvez définir plusieurs paramètres de charge dans le fournisseur de la charge dynamique.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=capacity,value=1.0)
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=type,value=busyness)
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=weight,value=1)

Load Metric Algorithms

cpu
Le métrique de charge cpu utilise la charge CPU moyenne pour déterminer quel nœud de cluster reçoit la charge de travail suivante.
mem
Le métrique de charge mem utilise la mémoire native RAM comme facteur de charge. L'utilisation de ce métrique est déconseillée car elle fournit une valeur qui inclut les tampons et le cache. C'est donc toujours un chiffre très faible sur chaque système décent pourvu d'une bonne gestion de mémoire.
heap
Le métrique de charge heap utilise l'usage heap (de tas) pour déterminer quel cluster reçoit la charge de travail suivante.
sessions
Le métrique de charge de session utilise le nombre de sessions actives comme métrique.
requests
Le métrique de charge requests utilise le nombre de requêtes en provenance des clients pour déterminer quel nœud de cluster reçoit la charge de travail suivante. Par exemple, capacité 1000 signifie que 1000 requêtes/s est considéré comme une « pleine charge ».
send-traffic
Le métrique de charge send-traffic (trafic envoyé) utilise le volume de trafic envoyé à partir d'un nœud de worker vers les clients. Par ex. une capacité par défaut de 512 indique que le nœud doit être considéré en pleine charge, si le trafic sortant moyen est 512 KB/s ou supérieur.
receive-traffic
Le métrique de charge receive-traffic (réception de trafic) utilise le volume de trafic envoyé vers le nœud de worker en provenance des clients. Par ex. une capacité par défaut de 1024 indique que le nœud doit être considéré en pleine charge, si le trafic entrant moyen est 1024 KB/s ou supérieur.
busyness
Ce métrique représente le nombre de threads d'une pool de threads en train de répondre à des requêtes.

Exemple 19.1. Ajouter un métrique de charge

Pour ajouter un métrique de charge, utiliser la commande add-metric.
/subsystem=modcluster/mod-cluster-config=configuration/:add-metric(type=sessions)

Exemple 19.2. Définir une valeur de métrique existant

Pour définir la valeur d'un métrique existant, utiliser la commande write-attribute.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="weight",value="3")

Exemple 19.3. Modifier une valeur de métrique existant

Pour changer la valeur d'un métrique existant, utiliser la commande write-attribute.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="type",value="busyness")

Exemple 19.4. Supprimer un métrique existant

Pour supprimer un métrique existant, utiliser la commande remove-metric.
/subsystem=modcluster/mod-cluster-config=configuration/:remove-metric(type=sessions)