17.6.2. Configurer le sous-système mod_cluster
mod_cluster
peut être configuré par la console de gestion ou par l'interface CLI. Dans cette section, les différentes options de configuration sont décrites, groupées telles qu'elles apparaissent dans la console de gestion. Des exemples de commandes d'interface CLI sont données pour chaque option.
Note
ha
et full-ha
. Dans un domaine géré, ces profils sont ha
et full-ha
, et dans un domaine autonome, ces profils sont standalone-ha
et standalone-full-ha
.
Cliquer sur l'onglet Configuration. Si vous configurez un domaine géré, sélectionner le bon profil à partir de Profile. Étendre Subsystems. Étendre Web, et sélectionner 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 |
Cet attribut spécifie quel équilibreur mod_proxy doit être configuré automatiquement par mod_cluster sur le serveur HTTP Apache. La valeur par défaut est
none , dans lequel cas, la valeur par défaut de mon_cluster sera utilisée (balancer://mon-cluster/ si exprimée en termes de mod_proxy). Cette valeur par défaut est configurée côté serveur HTTP Apache avec la directive ManagerBalancerName
Si vous utilisez deux valeurs d'attributs différents de
balancer sur les instances de worker de JBoss EAP 6, il y aura deux équilibreurs de mod_proxy différents créés par mod_cluster automatiquement sur le serveur HTTP Apache.
|
/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) |
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 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 si son nœud initial n'est plus disponible. Au lieu de cela, elle échouera. 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) |
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") |
Option | Description | CLI Command |
---|---|---|
Proxy URL |
Si définie, 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") |
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 17.7, « Options de configuration de session mod_cluster
»), les paramètres ci-dessous indiquent à mod_cluster
où trouver les informations pour encoder la connexion.
Option | Description | CLI Command |
---|---|---|
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) |
Password |
Ce mot de passe est le mot de passe de keystore pour les deux keystores: certificate-key-file (Key File) et ca-certificate-file (Cert File) et l'entrée key/certificate spécifiée avec Key Alias dans Cert File.
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=password,value=changeit) |
CA Cert File/Trust Store |
Trust store utilisé pour valider le certificat de serveur web.
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-certificate-file,value=${user.home}/jboss.crt) |
Key Store |
Keystore contenant le certificat et la clé privée qui identifient cette instance.
|
/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) |
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.
Vous pouvez également spécifier une combinaison de protocoles, séparés par des virgules. Par exemple, TLSv1, TLSv1.1,TLSv1.2.
Avertissement
Red Hat recommande que vous désactiviez SSL explicitement en faveur de TLSv1.1 ou TLSv1.2 dans tous les packages affectés.
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=protocol,value="TLSv1, TLSv1.1,TLSv1.2") |
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.
Option | Description | CLI Command |
---|---|---|
Node Timeout |
Timeout (en secondes) des connexions de proxy vers un worker. C'est que le temps
mod_cluster attendra la réponse de dorsal avant de retourner l'erreur. Qui correspond au délai d'attente dans la documentation de mod_proxy de worker. Une valeur correespondant à -1 n'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.
|
/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 noeud 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. Une valeur correspondant à -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 un réponse au ping d'un worker. 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 de 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 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) |
mod_cluster
Les options de configuration de mod_cluster
suivantes ne sont pas disponibles dans la console de gestion, et peuvent être uniquement définies en utilisant l'interface CLI en ligne de commandes.
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 :
[standalone@localhost:9990 /] /subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=simple-load-provider, value=1)
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.
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 inclue avec le fournisseur de charge dynamique dans JBoss EAP 6 est
busyness , qui calcule la charge du 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 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 worker 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 worker reçoit la charge de travail suivante. Par exemple, capacité 1000 signifie que 1000 requêtes/sec 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 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 worker en provenance des clients. Par ex. une capacité par défaut de 1024 indique que le worker 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'un pool de threads en train de répondre à des requêtes.
Exemple 17.1. Ajouter un métrique de charge
add-metric
.
/subsystem=modcluster/mod-cluster-config=configuration/:add-metric(type=sessions)
Exemple 17.2. Définir une valeur de métrique existant
write-attribute
.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="weight",value="3")
Exemple 17.3. Modifier une valeur de métrique existant
write-attribute
.
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="type",value="busyness")
Exemple 17.4. Supprimer un métrique existant
remove-metric
.
/subsystem=modcluster/mod-cluster-config=configuration/:remove-metric(type=sessions)