19.8.5. Configurer ISAPI Redirector pour qu'il équilibre des requêtes de clients entre des serveurs multiples de la plate-forme JBoss EAP 6

Aperçu

Cette configuration équilibre les requêtes des clients entre les serveurs de JBoss EAP 6 que vous spécifiez. Si vous préférez envoyer des demandes de client à des serveurs JBoss EAP 6 spécifiques sur une base «par-déploiement», reportez-vous plutôt à Section 19.8.4, « Configurer ISAPI Redirector pour qu'il envoie des requêtes de clients à la plate-forme JBoss EAP 6 ».

Cette configuration est faîte sur le serveur IIS, et assume que JBoss Enterprise Application Platform est déjà configurée, comme dans Section 19.3.6, « Configurer JBoss EAP 6 pour accepter des requêtes en provenance des serveurs web externes ».

Procédure 19.19. Équilibrage des requêtes de clients entre des serveurs multiples.

  1. Créer un répertoire pour stocker la journalisation, les fichiers de propriété, et les fichiers de verrouillage.

    Le reste de cette procédure suppose que vous utilisez le répertoire C:\connectors\ à cet effet. Si vous utilisez un autre répertoire, modifier les instructions en conséquence.
  2. Créer le fichier isapi_redirect.properties.

    Créer un nouveau fichier intitulé C:\connectors\isapi_redirect.properties. Copier les contenus suivants dans le fichier.
    # Configuration file for the ISAPI Redirector
    # Extension uri definition
    extension_uri=/jboss/isapi_redirect.dll
    
    # Full path to the log file for the ISAPI Redirector
    log_file==c:\connectors\isapi_redirect.log
    
    # Log level (debug, info, warn, error or trace)
    # Use debug only testing phase, for production switch to info
    log_level=debug
    
    # Full path to the workers.properties file
    worker_file=c:\connectors\workers.properties
    
    # Full path to the uriworkermap.properties file
    worker_mount_file=c:\connectors\uriworkermap.properties
    
    #OPTIONAL: Full path to the rewrite.properties file 
    rewrite_rule_file=c:\connectors\rewrite.properties
    
    Si vous ne souhaitez pas utiliser un fichier rewrite.properties, dé-commentez la dernière ligne en plaçant un caractère # au début de la ligne. Voir Étape 5 pour plus d'informations.
  3. Créer le fichier uriworkermap.properties.

    Le fichier uriworkermap.properties contient les mappages entre les URL de l'application déployée et quel worker gère les demandes à leur intention. Le fichier exemple suivant illustre la syntaxe du fichier, avec une configuration d'équilibrage de charge. Le caractère générique (*) envoie toutes les requêtes de divers sous-répertoires d'URL vers l'équilibreur de charges nommé router. La configuration de l'équilibreur de charges est couverte dans Étape 4.
    Mettez votre fichier uriworkermap.properties dans C:\connectors\.
    # images, css files, path /status and /web-console will be
    # provided by nodes defined in the load-balancer called "router"
    /css/*=router
    /images/*=router
    /status=router
    /web-console|/*=router
    
    # Example of exclusion from mapping, logo.gif won't be displayed  
    !/web-console/images/logo.gif=*
    
    # Requests to /app-01 and /app-02 will be routed to nodes defined
    # in the load-balancer called "router"
    /app-01|/*=router
    /app-02|/*=router
    
    # mapping for management console, nodes in cluster can be enabled or disabled here
    /jkmanager|/*=status
    
  4. Créer le fichier workers.properties.

    Le fichier workers.properties contient les définitions de mappage entre les étiquettes de workers et les instances de serveur. Le fichier exemple suivant illustre la syntaxe du fichier. L'équilibrage de charge est configuré vers la fin du fichier, et comprend les workers worker01 et worker02. Le fichier workers.properties suit la syntaxe du même fichier que celui utilisé pour la configuration d'Apache mod_jk. Pour plus d'informations sur la syntaxe du fichier workers.properties, reportez-vous à Section 19.6.5, « Référence de configuration pour les Apache Mod_jk Workers ».
    Mettez ce fichier dans le répertoire C:\connectors\.
    # The advanced router LB worker
    worker.list=router,status
    
    # First EAP server definition, port 8009 is standard port for AJP in EAP
    #
    # lbfactor defines how much the worker will be used. 
    # The higher the number, the more requests are served
    # lbfactor is useful when one machine is more powerful 
    # ping_mode=A – all possible probes will be used to determine that
    # connections are still working
    
    worker.worker01.port=8009
    worker.worker01.host=127.0.0.1
    worker.worker01.type=ajp13
    worker.worker01.ping_mode=A
    worker.worker01.socket_timeout=10
    worker.worker01.lbfactor=3
    
    # Second EAP server definition
    worker.worker02.port=8009
    worker.worker02.host=127.0.0.100
    worker.worker02.type=ajp13
    worker.worker02.ping_mode=A
    worker.worker02.socket_timeout=10
    worker.worker02.lbfactor=1
    
    # Define the LB worker
    worker.router.type=lb
    worker.router.balance_workers=worker01,worker02
    
    # Define the status worker for jkmanager
    worker.status.type=status
    
  5. Créer le fichier rewrite.properties.

    Le fichier rewrite.properties contient des dispositions relatives aux demandes spécifiques de réécriture d'URL simple pour certaines applications. Le chemin d'accès de réécriture est spécifié à l'aide de paires nom / valeur, comme illustré dans l'exemple ci-dessous. Placez ce fichier dans le répertoire C:\connectors\.
    #Simple example
    # Images are accessible under abc path
    /app-01/abc/=/app-01/images/
    
  6. Redémarrer le serveur IIS.

    Redémarrer votre serveur IIS par les commandes net stop et net start.
    C:\> net stop was /Y
    C:\> net start w3svc
    
Résultat

Le serveur IIS est configuré pour envoyer des demandes de clients à des serveurs de JBoss EAP 6 référencés dans le fichier workers.properties, équilibrant la charge équitablement à travers les serveurs.