Crear asesores personalizados (personalizables)

Nota:
En este apartado servidor se utiliza como término genérico para hacer referencia a un servicio de Controlador Cisco CSS o a un servidor de Controlador Nortel Alteon.

El asesor personalizado (personalizable) es un trozo pequeño de código Java™ que se proporciona como archivo de clases y es llamado por el código base. El código base proporciona todos los servicios administrativos, como:

También notifica los resultados al consultor. De forma periódica, el código base lleva a cabo un ciclo de asesor, donde evalúa de forma individual todos los servidores en su configuración. Empieza abriendo una conexión con una máquina servidor. Si se abre el socket, el código base llama al método getLoad (función) en el asesor personalizado. A continuación, el asesor personalizado llevará a cabo los pasos necesarios para evaluar el estado del servidor. En general, envía al servidor un mensaje definido por el usuario y luego espera una respuesta. (Se proporciona acceso al socket abierto para el asesor personalizado). A continuación, el código base cierra el socket con el servidor y notifica la información de carga al consultor.

El código base y el asesor personalizado puede funcionar en modalidad normal o 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.

En modalidad normal, el asesor personalizado intercambia datos con el servidor y el código del asesor base calcula la duración del intercambio y calcula el valor de carga. A continuación, el código base informa de este valor de carga al consultor. El asesor personalizado sólo necesita devolver un cero (cuando es satisfactorio) o un valor negativo (cuando es erróneo). Para especificar la modalidad normal, el distintivo de sustitución en el constructor se establece en false.

En modalidad de sustitución, el código base no lleva a cabo las mediciones de tiempo. El código del asesor personalizado realiza todas las operaciones que desee para sus requisitos exclusivos y, a continuación, devuelve un número de carga real. El código base aceptará el número y lo notificará al consultor. Para obtener los mejores resultados, normalice el número de carga entre 10 y 1000, en donde 10 representa un servidor rápido y 1000 representa un servidor lento. Para especificar la modalidad de sustitución, el distintivo de sustitución en el constructor se establece en true.

Con esta característica, puede escribir sus propios asesores de forma que proporcionen la información exacta que necesite sobre los servidores. Se proporciona un asesor personalizado de ejemplo para los controladores, ADV_ctlrsample.java. Después de instalar Load Balancer, puede encontrar el código de ejemplo en:

Nota:
Si añade un asesor personalizado a Controlador Cisco CSS o Controlador Nortel Alteon, debe detener y después reiniciar ccoserver o nalserver (en sistemas Windows, utilice Servicios) para que el proceso Java pueda leer los nuevos archivos de clase de asesor personalizado. Los archivos de clase de asesor personalizado sólo se cargan durante el arranque.

Convenio de denominación

El nombre de archivo de asesor personalizado debe tener el formato ADV_miasesor.java. Debe empezar con el prefijo ADV_ en mayúsculas. Todos los caracteres subsiguientes deben indicarse en minúsculas.

Según los convenios Java, el nombre de la clase definida dentro del archivo debe coincidir con el nombre del archivo. Si copia el código de ejemplo, asegúrese de cambiar todas las instancias de ADV_ctrlsample dentro del archivo por el nuevo nombre de clase.

Compilación

Los asesores personalizados se escriben en lenguaje Java. Utilice el compilador Java que se instala con Load Balancer. Durante la compilación aparecen referenciados los siguientes archivos:

La classpath debe apuntar al archivo de asesor personalizado y el archivo de clases base durante la compilación.

En la plataforma Windows, un mandato de compilación puede se parecido al siguiente:

dir_instalación/java/bin/javac -classpath
    <raíz_instalación>ibm\edge\lb\servers\lib\ibmlb.jar ADV_pam.java

donde:

La salida de la compilación está en un archivo de clases; por ejemplo:

ADV_pam.class

Antes de iniciar el asesor, copie el archivo de clases en el directorio siguiente:

Nota:
Si lo desea, los asesores personalizados pueden compilarse en un sistema operativo y ejecutarse en otro. Por ejemplo, puede compilar el asesor en sistemas Windows, copiar el archivo de clase (en binario) en una máquina AIX y ejecutar aquí el asesor personalizado.

En sistemas AIX, HP-UX, Linux y Solaris, la sintaxis es parecida.

Ejecución

Para ejecutar el asesor personalizado, primero debe copiar el archivo de clases en el directorio de instalación adecuado:

Inicie el consultor y luego emita este mandato para iniciar el asesor personalizado:

En Controlador Cisco CSS
ccocontrol ownercontent metrics ID_consultor:ID_contenido_propietario pam 100
En Controlador Nortel Alteon
nalcontrol service metrics ID_consultor:ID_servicio pam 100

donde:

Rutinas necesarias

Como todos los asesores, un asesor personalizado amplía la función del asesor base, denominada ADV_Base. Se trata de la base del asesor que en realidad efectúa la mayoría de las funciones del asesor, como informar de las cargas al consultor para que se utilicen en el algoritmo de peso del consultor. 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 datos y recibir datos en el puerto del servidor que se está asesorando. 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 en ADV_base escribe encima de la carga existente la nueva carga devuelta desde el asesor, si se desea.

Nota:
La base del asesor proporciona la carga al algoritmo de peso a intervalos especificados en función de un valor fijado en el constructor. Si el asesor real no se ha completado y no puede devolver una carga válida, la base del asesor utiliza la carga anterior.

A continuación se indican los métodos de clase base:

Orden de búsqueda

En primer lugar, los controladores examinan la lista de asesores nativos que se proporciona; si no encuentran un asesor específico en la lista, consultarán la lista de asesores personalizados.

Denominación y vía de acceso

Asesor de ejemplo

La lista de programas de un asesor de ejemplo del controlador se incluye en Asesor de ejemplo. Después de la instalación, este asesor de ejemplo puede encontrarse en el directorio siguiente: