[AIX HP-UX Linux Solaris Windows]

Création d'un conseiller personnalisé

Un conseiller personnalisé est un petit programme Java faisant office de fichier classe et que le code de base de Load Balancer appelle pour déterminer la charge d'un serveur. Le code de base fournit tous les services administratifs nécessaires (le démarrage et l'arrêt d'une instance du conseiller personnalisé, la génération d'états et de rapports, l'enregistrement des informations de l'historique dans un fichier journal et le renvoi des résultats du conseiller au composant gestionnaire, par exemple).

A propos de cette tâche

Les conseillers personnalisés sont appelés après que les conseillers natifs, ou standard, ont été recherchés. Si Load Balancer ne trouve pas de conseiller particulier dans la liste des conseillers standard, il consulte la liste des conseillers personnalisés. Si le code de base de Load Balancer appelle un conseiller personnalisé, la procédure suivante se déroule :
  1. Le code de base de Load Balancer ouvre une connexion avec le serveur.
  2. Si la connexion s'ouvre, le code de base appelle la fonction GetLoad du conseiller spécifié.
  3. La fonction GetLoad suit la procédure d'évaluation de l'état du serveur définie par l'utilisateur, y compris l'attente d'une réponse de la part du serveur. La fonction met fin à la procédure après avoir obtenu la réponse.
  4. Le code de base de Load Manager ferme la connexion au serveur et envoie au gestionnaire les informations relatives à la charge. Selon que le conseiller personnalisé fonctionne en mode normal ou en mode remplacement, le code de base procède parfois à des calculs supplémentaires à l'issue de la fonction GetLoad.
Les conseillers personnalisés peuvent être conçus pour interagir avec Load Balancer en mode norme ou en mode remplacement. Le choix du mode est défini dans le fichier du conseiller personnalisé sous la forme d'un paramètre dans la méthode du constructeur. (chaque conseiller fonctionne uniquement dans ces modes, selon sa conception).
  • Mode normal : le conseiller personnalisé échange des données avec le serveur et le code du conseiller de base évalue la durée de l'échange et calcule la valeur de la charge. Le code de base renvoie cette valeur au gestionnaire. Le conseiller personnalisé renvoie la valeur zéro pour indiquer un succès ou une valeur négative pour signaler une erreur.

    Pour spécifier le mode normal, attribuez la valeur false à l'indicateur replace du constructeur.

  • Mode replace : le code de base n'effectue aucune mesure de temps. Le code du conseiller personnalisé effectue toutes les opérations définies en fonction de ses conditions uniques, puis il retourne une valeur de charge. Le code de base accepte cette valeur et la communique sans la modifier au gestionnaire. Pour optimiser les résultats, normalisez les valeurs de charge entre 10 et 1 000, 10 correspondant à un serveur rapide et 1 000, à un serveur lent.

    Pour spécifier le mode replace, attribuez la valeur true à l'indicateur replace du constructeur.

A l'instar de tous les conseillers, un conseiller personnalisé étend la fonctionnalité de la classe de base du conseiller, appelée ADV_Base. La base du conseiller effectue la plupart des fonctions du conseiller, telles que la communication des charges au gestionnaire afin que ces dernières soient utilisées dans l'algorithme de pondération du gestionnaire. La base du conseiller effectue également les opérations de connexion et de fermeture de la connexion et fournit des méthodes d'envoi et de réception qui seront utilisées par le conseiller. Le conseiller est utilisé uniquement pour envoyer et recevoir des données sur le port défini pour le serveur analysé. Les méthodes TCP fournies dans la base du conseiller sont programmées pour calculer la charge. Un indicateur du constructeur de la base du conseiller remplace la charge existante par la nouvelle charge renvoyée du conseiller, s'il le souhaite.
Remarque : Selon la valeur définie dans le constructeur, la base du conseiller fournit la charge à l'algorithme de pondération à une certaine fréquence. Si le conseiller n'a pas terminé ses opérations et ne peut pas renvoyer de charge valide, la base du conseiller utilise la charge précédente.

Procédure

  1. Affectez un nom au conseiller. Les noms de fichier du conseiller personnalisé se présentent sous la forme ADV_nom.java, où nom est le nom de votre conseiller.
    Eviter les incidents Eviter les incidents :
    • Vous devez utiliser ADV_ prefix pour le nom du conseiller.
    • Vous devez attribuer un nom au conseiller personnalisé en utilisant des caractères alphabétiques en minuscule afin d'éliminer le respect de la casse lorsqu'un opérateur entre des commandes sur une ligne de commande.
    • La classe de conseiller personnalisé doit se trouver dans le sous-répertoire racine_install/lib/CustomAdvisors.
    • Conformément aux conventions Java, le nom de la classe définie dans le fichier doit correspondre à celui du fichier.
    gotcha
  2. Créez le conseiller personnalisé. Voir Méthodes et appels de fonction du conseiller personnalisé pour la liste des méthodes et appels de fonction à utiliser dans le conseiller. N'oubliez pas que les conseillers personnalisés ont besoin de toutes les routines nécessaires. Ils doivent contenir les méthodes de classe de base suivantes :
    • Une routine de constructeur. Le constructeur appelle le constructeur de classe de base.
    • Une méthode ADV_AdvisorInitialize. Cette méthode permet d'exécuter des étapes supplémentaires après que la classe de base a terminé son initialisation.
    • Une routine getLoad. La classe de base du conseiller ouvre le socket. La fonction getLoad doit simplement émettre les demandes d'envoi et de réception appropriées pour exécuter le cycle de conseil.

  3. Compilez le conseiller.
    • Vous devez écrire les conseillers personnalisés en langage Java et les compiler à l'aide d'un compilateur Java au même niveau que le code Load Balancer. Pour vérifier la version de Java sur votre système, exécutez la commande suivante dans le répertoire racine_install/java/bin :
      java -fullversion
      Si le répertoire en cours ne se trouve pas dans le chemin, vous devez indiquer que Java doit être exécuté depuis le répertoire en cours pour pouvoir obtenir les informations de version correctes. Dans ce cas, exécutez la commande suivante à partir du répertoire racine_install/java/bin :
      ./java -fullversion
    • Les fichiers suivants sont référencés pendant la compilation :
      • Le fichier du conseiller personnalisé.
      • Le fichier de classes de base ibmnd.jar, qui se trouve dans le répertoire racine_install/servers/lib.
    • La variable d'environnement classpath doit pointer vers le fichier du conseiller personnalisé et le fichier de classe de base au cours de la compilation. Une commande de compilation peut se présenter au format suivant, si votre conseiller est le répertoire de travail :
      chemin_install/java/bin/javac -classpath racine_install/servers/lib/ibmlb.jar ADV_nom.java
    • Le résultat de la compilation est un fichier classe (ADV_nom.class, par exemple). Avant de lancer le conseiller, copiez le fichier classe dans le répertoire racine_install/servers/lib/CustomAdvisors/.
    Remarque : Vous pouvez compiler les conseillers personnalisés sur un système d'exploitation et les exécuter sur un autre. Par exemple, vous pouvez compiler le conseiller sur un système Windows, copier le fichier classe résultant au format binaire sur un poste Linux, puis exécuter le conseiller personnalisé sur ce poste. Sous AIX, HP-UX, Linux et Solaris, la syntaxe est similaire.
  4. Exécutez le conseiller personnalisé. Les conseillers personnalisés sont appelés suite à la recherche de conseillers natifs ou standard. Si Load Balancer ne trouve pas de conseiller particulier dans la liste des conseillers standard, il consulte la liste des conseillers personnalisés.
    1. Si ce n'est pas déjà fait, copiez le fichier classe du conseiller vers le sous-répertoire CustomAdvisors de la machine Load Balancer. Par exemple, si le conseiller personnalisé s'appelle myping, le chemin d'accès au fichier est racine_install/servers/lib/CustomAdvisors/ADV_myping.class.
    2. Configurez Load Balancer, démarrez sa fonction gestionnaire, puis exécutez la commande de démarrage du conseiller personnalisé. Le conseiller personnalisé est spécifié par son nom, à l'exclusion du préfixe ADV_ prefix et de l'extension de fichier :
      dscontrol advisor start
      nom.ext port
      Le port spécifié dans la commande est celui sur lequel le conseiller va ouvrir une connexion au serveur cible.



Sous-rubriques
Méthodes et appels de fonction du conseiller personnalisé
Conseils spécifiques au service avec l'option de demande/réponse du conseiller
rprf_selfadv2tier.html
Référence associée
Rubrique Tâche Rubrique Tâche    

Conditions d'utilisation | Commentaires

Dernière mise à jourDernière mise à jour : Jun 21, 2011 12:02:44 PM EDT
Nom du fichier : tprf_advcust.html