16.6.4. Référence de configuration des Apache Mod_jk Workers

Le fichier workers.properties définit le comportement des noeuds de workers à qui mod_jk passe les requêtes de clients. Dans Red Hat Enterprise Linux, le fichier se trouve dans /etc/httpd/conf/workers.properties. Le fichier workers.properties définit où les différents conteneurs de servlet se trouvent, et la façon dont la charge de travail doit être distribuée parmi eux.
La configuration est divisée en trois sections. La première section traite des propriétés globales, qui s'appliquent à tous les nœuds de worker. La deuxième section contient des paramètres qui s'appliquent à un worker spécifique. La troisième section contient les paramètres qui s'appliquent à un nœud spécifique, équilibré par le worker.
La structure générale d'une propriété est worker.WORKER_NAME.DIRECTIVE, avec WORKER_NAME comme nom unique de worker, et DIRECTIVE comme paramètre de configuration à appliquer au worker.
Référence de configuration des Apache Mod_jk Workers

Les modèles de noeuds spécifient les paramètres par défaut par noeud. Vous pouvez remplacer le modèle contenu dans le paramètre de nœud lui-même. Vous pouvez voir un exemple de modèle de nœud dans Exemple 16.2, « Exemple de fichier workers.properties ».

Tableau 16.11. Propriétés globales

Propriété Description
worker.list La liste des noms de worker utilisés par mod_jk. Ces workers sont prêts à recevoir des requêtes.

Tableau 16.12. Propriétés per-worker

Propriété Description
type
Le type de worker. Le type par défaut est ajp13. Autres valeurs possibles ajp14, lb, status.
Pour plus d'informations sur ces directives, voir la référence de protocole Apache Tomcat Connector AJP à http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html.
balance_workers
Spécifie les nœuds de worker que l'équilibreur de charges doit gérer. Vous pouvez utiliser la directive plusieurs fois pour un même équilibrage de charge. Il se compose d'une liste séparée par des virgules des noms de workers. Ceci est défini par worker, et non pas par nœud. Elle affecte tous les nœuds équilibrés par ce type de worker.
sticky_session
Indique si les demandes d'une même session sont toujours acheminées vers le même worker. La valeur par défaut est 0, ce qui signifie que les sticky sessions sont désactivées. Pour activer des sticky sessions, définir à 1. Les sticky sessions doivent habituellement être activées, à moins que toutes vos demandes soient vraiment stateless. Ceci est défini par worker, et non pas par nœud. Affecte tous les nœuds équilibrés par ce type de worker.

Tableau 16.13. Propriétés per-node

Propriété Description
host
Le nom d'hôte ou l'adresse IP du worker. Le noeud de worker doit supporter la pile de protocole ajp. L avaleur par défaut est localhost.
Important
Le numéro de port de l'instance de serveur éloigné qui écoute les requêtes de protocoles définis. La valeur par défaut est 8009, qui correspond au port d'écoute des workers AJP13. La valeur par défaut des workers AJP14 est 8011.
ping_mode
Les conditions dans lesquelles les connexions sont interrogées pour le statut du réseau. La sonde utilise un paquet AJP13 vide pour CPing et s'attend à un CPong en réponse. Spécifier les conditions à l'aide d'une combinaison d'indicateurs de la directive. Les indicateurs ne sont pas séparés par une virgule ou un espace blanc. Le ping_mode peut être n'importe quelle combinaison de C, P, I, ou A.
  • C - Connect. Sonde la connexion une fois seulement suite à la connexion au serveur. Spécifier le timeout en utilisant la valeur de connect_timeout. Sinon, la valeur de ping_timeout sera utilisée.
  • P - Prepost. Sonde la connexion avant d'envoyer d'envoyer chaque requête au serveur. Spécifier le timeout en utilisant la directive prepost_timeout. Sinon, la valeur ping_timeout sera utilisée.
  • I - Interval. Interroge la connexion à un intervalle spécifié par connection_ping_interval, si présent. Sinon, utilise la valeur de ping_timeout.
  • A - All. Un raccourci pour CPI, qui indique que toutes les sondes de connexion sont utilisées.
ping_timeout, connect_timeout, prepost_timeout, connection_ping_interval
Les valeurs de timeout pour les paramètres de sonde de connexion ci-dessus. La valeur est spécifiée en millisecondes, et la valeur par défaut pour ping_timeout est de 10000.
lbfactor
Spécifie le facteur d'équilibrage des charge d'un worker individuel et ne s'applique qu'à un worker membre d'un équilibreur de charge. Ceci est utile pour donner à un serveur plus puissant, une charge de travail supplémentaire. Pour donner à un worker 3 fois la charge de la valeur par défaut, définir cette valeur à 3: worker.my_worker.lbfactor=3

Exemple 16.2. Exemple de fichier workers.properties

worker.list=node1, node2, node3
     
worker.balancer1.sticky_sessions=1
worker.balancer1.balance_workers=node1
worker.balancer2.sticky_session=1
worker.balancer2.balance_workers=node2,node3

worker.nodetemplate.type=ajp13
worker.nodetemplate.port=8009

worker.node1.template=nodetemplate
worker.node1.host=localhost
worker.node1.ping_mode=CI
worker.node1.connection_ping_interval=9000
worker.node1.lbfactor=1

worker.node2.template=nodetemplate
worker.node2.host=192.168.1.1
worker.node2.ping_mode=A

worker.node3.template=nodetemplate
worker.node3.host=192.168.1.2
Les détails de configuration de ce document sont limités. Voir la documentation Apache à http://tomcat.apache.org/connectors-doc/ pour obtenir des instructions supplémentaires.