WebSphere Load Balancer para IPv4 e IPv6
             Sistema operativos: AIX, HP-UX, Linux, Solaris, Windows

             Personalice la tabla de contenidos y los resultados de la búsqueda

Creación de un asesor personalizado

Un asesor personalizado es un fragmento pequeño de código Java que se proporciona como un archivo de clases, al que el código base de Load Balancer llama para determinar la carga de un servidor. El código base proporciona todos los servicios administrativos, incluidos iniciar y detener una instancia del asesor personalizado, proporcionar el estado e informes, anotar la información de historial en un archivo de anotaciones cronológicas y notificar los resultados del asesor al componente gestor.

Acerca de esta tarea

Se llama a los asesores personalizados después de que se han buscado los asesores nativos, o estándar. Si Load Balancer no encuentra un asesor especificado entre la lista de asesores estándar, consulta la lista de asesores personalizados. Cuando el código base de Load Balancer llama al asesor personalizado, suceden los pasos siguientes:
  1. El código base de Load Balancer abre una conexión con la máquina servidor.
  2. Si se abre el socket, el código base llama a la función getLoad del asesor personalizado.
  3. La función GetLoad del asesor efectúa los pasos que el usuario ha definido para evaluar el estado del servidor, incluida la espera a una respuesta por parte del servidor. La función termina la ejecución cuando se recibe la respuesta.
  4. El código base de Load Balancer cierra el socket con el servidor y notifica la información de carga al gestor. En función de que el asesor personalizado opere en modalidad normal o en modalidad de sustitución, el código base efectúa a veces cálculos adicionales después de que termina la función GetLoad.
Los asesores personalizados se pueden diseñar para interactuar con Load Balancer en modalidad normal o en modalidad de sustitución. La selección de la modalidad de operación se especifica en el archivo de asesor personalizado como parámetro en el método del constructor. (Cada asesor opera en una de estas modalidades únicamente, según su diseño).
  • Modalidad normal: el asesor personalizado intercambia los datos con el servidor y el código del asesor base cronometra el intercambio y calcula el valor de la carga. A continuación, el código base informa de este valor de carga al gestor. El asesor personalizado devuelve el valor cero para indicar que la operación ha tenido éxito, o un valor negativo para indicar un error.

    Para especificar la modalidad normal, establezca el distintivo de sustitución del constructor en false.

  • Modalidad de sustitución: el código base no efectúa ninguna medida de temporización. El código del asesor personalizado realiza todas las operaciones especificadas para sus requisitos exclusivos y, a continuación, devuelve un número de carga real. El código base acepta el número de carga e informa de ello, sin modificar, al gestor. Para obtener los mejores resultados, normalice los números de carga entre 10 y 1000, con 10 que representa un servidor rápido y 1000 representa un servidor lento.

    Para especificar la modalidad de sustitución, establezca el distintivo de sustitución del constructor en true.

Como todos los asesores, un asesor personalizado amplía la clase base del asesor, denominada ADV_Base. La base del asesor efectúa la mayoría de las funciones del asesor, como informar de las cargas al gestor para que se utilicen en el algoritmo de peso del gestor. La base del asesor también realiza operaciones de conexión y cierre de sockets, y proporciona métodos de envío y recepción para que el asesor los utilice. El asesor sólo se utiliza para enviar y recibir datos en el puerto especificado del servidor que se está investigando. Para calcular la carga, se calcula la duración de los métodos TCP incluidos en la base del asesor. Un distintivo incluido en el constructor de la base del asesor sobrescribe la carga existente con la nueva carga devuelta desde el asesor, si se desea.
Nota: en función de un valor fijado en el constructor, la base del asesor suministra la carga al algoritmo de peso a intervalos especificados. Si el asesor no se ha completado y no puede devolver una carga válida, la base del asesor utiliza la carga notificada anteriormente.

Procedimiento

  1. Dé un nombre al asesor. Los nombres de archivo del asesor personalizado deben seguir el formato ADV_nombre.java, donde nombre es el nombre seleccionado para el asesor.
    Evite problemas:
    • Debe utilizar el prefijo ADV_ para el nombre de asesor.
    • Debe dar un nombre al asesor personalizado con caracteres alfabéticos en minúscula para eliminar la distinción entre mayúsculas y minúsculas cuando el operador escribe los mandatos en la línea de mandatos.
    • La clase del asesor personalizado se debe ubicar en el subdirectorio raíz_instalación/lib/CustomAdvisors.
    • Según los convenios Java, el nombre de la clase definida dentro del archivo debe coincidir con el nombre del archivo.
    gotcha
  2. Escriba el asesor personalizado. Lea el apartado Métodos de asesor personalizados y llamadas a función para obtener una lista de métodos y llamadas a función que se pueden utilizar en el asesor. Tenga en cuenta que los asesores han de tener todas las rutinas necesarias. Los asesores deben tener los métodos de clase base siguientes:
    • Una rutina constructor. El constructor llama al constructor de la clase base.
    • Método ADV_AdvisorInitialize. Este método proporciona un modo de realizar pasos adicionales después de que la clase base finaliza la inicialización.
    • Rutina getLoad. La clase de asesor base lleva a cabo la apertura del socket; la función getLoad sólo necesita emitir las peticiones de envío y recepción adecuadas para completar el ciclo del asesor.

  3. Compile el asesor.
    • Debe escribir los asesores personalizados en el lenguaje Java y compilarlos con un compilador de Java que esté en el mismo nivel que el código de Load Balancer. Para comprobar la versión de Java en el sistema, ejecute el mandato siguiente desde el directorio raíz_instalación/java/bin.
      java -fullversion
      Si el directorio activo no forma parte de la vía de acceso, tendrá que especificar que se debe ejecutar Java desde el directorio activo para asegurarse de que obtiene la información de versión correcta. En este caso, ejecute el mandato siguiente desde el directorio raíz_instalación/java/bin.
      ./java -fullversion
    • Durante la compilación aparecen referenciados los siguientes archivos:
      • El archivo de asesor personalizado.
      • El archivo de clases base, ibmnd.jar, que se encuentra en el directorio raíz_instalación/servers/lib.
    • La variable de entorno CLASSPATH debe apuntar al archivo de asesor personalizado y el archivo de clases base durante la compilación. Un mandato de compilación podría tener el formato siguiente, si el asesor se encuentra en el directorio activo:
      vía de acceso_instalación/java/bin/javac -classpath raíz_instalación/servers/lib/ibmlb.jar ADV_nombre.java
    • La salida de la compilación es un archivo de clase, por ejemplo, ADV_nombre.class. Antes de iniciar el asesor, copie el archivo de clase al directorio raíz_instalación/servers/lib/CustomAdvisors/.
    Nota: puede compilar los asesores personalizados en un sistema operativo y ejecutarlos en otro. Por ejemplo, puede compilar el asesor en sistemas Windows, copiar el archivo de clase resultante, en formato binario, en una máquina Linux y ejecutar aquí el asesor personalizado. En sistemas operativos AIX, HP-UX, Linux y Solaris, la sintaxis es parecida.
  4. Ejecute el asesor personalizado. Se llama a los asesores personalizados después de que se buscan los asesores nativos, o estándar. Si Load Balancer no encuentra un asesor especificado entre la lista de asesores estándar, consulta la lista de asesores personalizados.
    1. Si todavía no lo ha hecho, copie el archivo de clase del asesor en el subdirectorio CustomAdvisors de la máquina de Load Balancer. Por ejemplo, para un asesor personalizado denominado miping, la vía de acceso del archivo será raíz_instalación/servers/lib/CustomAdvisors/ADV_miping.class.
    2. Configure Load Balancer, inicie la función gestor y emita el mandato para iniciar el asesor personalizado. El asesor personalizado se especifica mediante su nombre, excluido el prefijo ADV_ y la extensión de archivo:
      dscontrol advisor start nombre.ext puerto
      El número de puerto especificado en el mandato es el puerto en el que el asesor abrirá una conexión con el servidor de destino.



Subtemas
Métodos de asesor personalizados y llamadas a función
Obtención de asesoramiento específico del servicio con la opción de solicitud o respuesta del asesor
Asesor automático en una configuración WAN de dos niveles
Referencia relacionada
Tema de tarea    

Condiciones de uso | Comentarios

Última actualización: 31 de julio de 2008, 3:18:06 PM EDT
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.edge.doc/lb/info/ae/tprf_advcust.html