17.7.5. Référence de configuration pour les Apache Mod_jk Workers
workers.properties
définit le comportement 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.
worker.WORKER_NAME.DIRECTIVE
, avec WORKER_NAME comme nom unique de worker, et DIRECTIVE comme paramètre de configuration à appliquer au worker.
Les modèles spécifient les paramètres d'équilibrage de charge par défaut. Vous pouvez remplacer le modèle contenu dans les paramètres de l'équilibreur de charge lui-même. Vous pouvez voir un exemple de modèle d'équilibreur de charge dans Exemple 17.6, « Exemple de fichier workers.properties
».
Propriété | Description |
---|---|
worker.list | La liste des noms d'équilibreur de charge utilisés par mod_jk. Ces équilibreurs de charge sont prêts à recevoir des requêtes. |
Propriété | Description |
---|---|
type |
Le type d'équilibreur de charge. 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.
|
Propriété | Description |
---|---|
balance_workers |
Spécifie les nœuds de worker que l'équilibreur de charge 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 équilibreur de charge. 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 équilibreur de charge, et non pas par nœud. Affecte tous les nœuds équilibrés par ce type d'équilibreur de charge.
|
Propriété | Description |
---|---|
hôte |
Le nom d'hôte ou l'adresse IP de l'équilibreur de charge. L'équilibreur de charge doit supporter la pile de protocole
ajp . La valeur 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 équilibreurs de charge AJP13. La valeur par défaut des équilibreurs de charge 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 .
|
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 charges d'un équilibreur individuel et ne s'applique qu'à un noeud de 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 17.6. Exemple de fichier workers.properties
worker.balancer1.type=lb worker.balancer2.type=lb 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
- Avoir différents contextes pouvant être servis par différents équilibreurs de charge, fournissant un environnement de développement dans lequel tous les développeurs peuvent partager le même serveur web tout en ayant un équilibreur de charge propre.
- Avoir plusieurs hôtes virtuels servis par differents processus, offrant ainsi une séparation claire entre les sites appartenant à des sociétés diverses.
- Fournir un équilibrage des charges, c-a-d exécuter plusieurs équilibreurs de charge sur une même machine et répartir les demandes entre eux.