Opción de afinidad de la norma basada en el contenido de la petición de cliente

Puede especificar los siguientes tipos de afinidad en el mandato dscontrol rule:

El valor predeterminado para la opción affinity es "none." La opción stickytime en el mandato port debe ser cero (no habilitado) para poder establecer la opción affinity en el mandato rule para el cookie activo, cookie pasivo o URI. Cuando se establece la función de afinidad en la norma, no se puede habilitar el tiempo de permanencia en memoria en el puerto.

Afinidad de cookies activos

El función de afinidad de cookies activos sólo se aplica al componente CBR.

Proporciona una forma para hacer que los clientes sean “permanentes” para un servidor particular. Esta función se habilita estableciendo la opción stickytime de una norma en un número positivo y estableciendo la opción affinity en “activecookie.” Esto puede llevarse a cabo cuando se añade la norma o se utiliza el mandato rule set. Consulte el apartado dscontrol rule — configurar normas para obtener información detallada sobre la sintaxis del mandato.

Cuando se habilita una norma para la afinidad de cookies activos, se equilibra la carga de nuevas peticiones de clientes utilizando algoritmos CBR estándar, mientras que las peticiones sucesivas del mismo cliente se envían al servidor elegido al principio. El servidor elegido se almacena en forma de cookie en la respuesta al cliente. Siempre y cuando las peticiones futuras del cliente contengan el cookie y lleguen dentro del intervalo de permanencia en memoria, el cliente mantendrá afinidad con el servidor inicial.

La afinidad de cookies activos se utiliza para asegurar que un cliente siga realizando el equilibrio de carga en el mismo servidor durante un periodo de tiempo. Esto se lleva a cabo enviando un cookie para que se almacene en el navegador de los clientes. El cookie contiene los valores clúster:puerto:norma que se utilizaron para tomar una decisión, el servidor en el que se realizó el equilibrio de carga y una indicación de la hora del tiempo de espera excedido para cuando la afinidad ya no es válida. El cookie tiene el siguiente formato: IBMCBR=clúster:puerto:norma+servidor-hora! La información clúster:puerto:norma y servidor está codificada para que no muestre la configuración de CBR.

Cómo funciona la afinidad de cookies activos

Siempre que una norma indique que tiene activada la afinidad de cookies activos, se examinará el cookie enviado por el cliente.

Este nuevo cookie se insertará en las cabecera que se devuelven al cliente, y si el navegador del cliente se configura de forma que acepte cookies, devolverá peticiones subsiguientes.

Cada instancia de afinidad del cookie tiene una longitud de 65 bytes y termina con un signo de exclamación. Como resultado, un cookie de 4096 bytes puede mantener aproximadamente 60 normas de cookies activos individuales por dominio. Si el cookie se rellena completamente, se depuran todas las instancias de afinidad caducadas. Si todas las instancias siguen siendo válidas, se elimina la más antigua y se añaden las nuevas instancias para la norma actual.

Nota:
CBR sustituirá todas las apariciones de los cookies de IBMCBR con el formato antiguo a medida que aparezcan en el proxy.

La opción affinity de cookies activos, para el mandato rule, sólo puede establecerse en activecookie si la opción port stickytime es cero (no habilitada). Una vez que la afinidad de cookies activos está activa en una norma, no se puede habilitar el tiempo de permanencia en memoria en el puerto.

Cómo habilitar la afinidad de cookies activos

Para habilitar la afinidad de cookies activos para una norma concreta, utilice el mandato rule set:

rule set clúster:puerto:regla stickytime 60
rule set clúster:puerto:norma affinity activecookie

Por qué se utiliza la afinidad de cookies activos

Hacer que una norma sea permanente en memoria normalmente se utiliza para CGI o servlets que almacenan estado de cliente en el servidor. El estado lo identifica un ID de cookie (estos son cookies de servidor). El estado del cliente sólo está en el servidor seleccionado, de modo que el cliente necesita el cookie de dicho servidor para mantener dicho estado entre peticiones.

Alteración temporal de la hora de caducidad de la afinidad de cookies activos

La afinidad de cookies activos tiene una hora de caducidad del servidor actual predeterminado, más el intervalo de tiempo de permanencia en memoria, más veinticuatro horas. Si las horas de los sistemas clientes (aquellos que envían peticiones a la máquina CBR) son incorrectas (por ejemplo, van un día por delante de la hora del servidor), los sistemas de estos clientes ignorarán los cookies de CBR porque el sistema dará por supuesto que los cookies ya han caducado. Para fijar una hora de caducidad posterior, modifique el script cbrserver. En el archivo script, edite la línea javaw añadiendo el siguiente parámetro después de LB_SERVER_KEYS: -DCOOKIEEXPIREINTERVAL=X donde X es el número de días que desea añadir a la hora de caducidad.

En sistemas AIX, Solaris y Linux, el archivo cbrserver está en el directorio /usr/bin.

En sistemas Windows, el archivo cbrserver está en el directorio \winnt\system32.

Afinidad de cookies pasivos

La afinidad de cookies pasivos se aplica al método de reenvío de CBR (Content Based Routing) del componente Dispatcher y al componente CBR. Consulte el apartado direccionamiento basado en contenido de Dispatcher (método de reenvío cbr) para obtener información sobre cómo configurar el método de reenvío de CBR de Dispatcher.

La afinidad de cookies pasivos proporcionan una forma para que los clientes sean permanentes en memoria para un servidor concreto. Cuando habilita la afinidad de una norma para "passivecookie", la afinidad de cookies pasivos le permite equilibrar la carga del tráfico Web con afinidad al mismo servidor, basándose en cookies que se identifican a sí mismos generados por los servidores. La afinidad de cookies pasivos se configura en el nivel de normas.

Cuando se activa la norma, si la afinidad de cookies pasivos está habilitada, Load Balancer seleccionará el servidor basándose en el nombre de cookie de la cabecera HTTP de la petición del cliente. Load Balancer empieza a comparar el nombre de cookie de la cabecera HTTP del cliente con el valor de cookie configurado para cada servidor.

La primera vez que Load Balancer encuentre un servidor cuyo valor de cookie contenga el nombre de cookie del cliente, Load Balancer selecciona dicho servidor para la petición.

Nota:
Load Balancer proporciona esta flexibilidad para manejar casos en los que el servidor podría generar un valor de cookie al que se ha añadido una parte estática a una parte variable. Por ejemplo, el valor de cookie del servidor podría ser el nombre de servidor (un valor estático) al que se ha añadido una indicación de la hora (un valor variable).

Si el nombre de cookie en la petición de cliente no se encuentra o no coincide con ningún contenido de los valores de cookie de los servidores, el servidor se selecciona utilizando la selección del servidor existente o la técnica de turno rotativo sopesado.

Para configurar afinidad de cookies pasivos:

La opción affinity de cookies pasivos, para el mandato rule, sólo puede establecerse en passivecookie si la opción port stickytime es cero (no habilitada). Una vez que la afinidad de cookies pasivos está activa en una norma, no se puede habilitar el tiempo de permanencia en memoria en el puerto.

Afinidad de URI

La afinidad de URI se aplica al método de reenvío CBR de Dispatcher y el componente CBR. Consulte el apartado direccionamiento basado en contenido de Dispatcher (método de reenvío cbr) para obtener información sobre cómo configurar el método de reenvío CBR.

La afinidad de URI permite equilibrar la carga del tráfico Web para servidores Caching Proxy, lo que permitirá que el contenido exclusivo se almacene en la antememoria de cada servidor individual. Como resultado, se aumentará eficazmente la capacidad de la antememoria del sitio y se eliminará el almacenamiento en antememoria redundante de contenido en varias máquinas. Configure la afinidad de URI en el nivel de normas. Una vez que la norma se activa, la afinidad de URI se habilita y el mismo conjunto de servidores están activos y responden, Load Balancer remitirá nuevas peticiones de cliente entrantes con el mismo URI al mismo servidor.

Normalmente, Load Balancer puede distribuir peticiones a varios servidores que sirven contenido idéntico. Al utilizar Load Balancer con un grupo de servidores de antememoria, llegará un momento en que el contenido al que se suele acceder habitualmente estará almacenado en la antememoria de todos los servidores. Esto da soporte a una carga muy alta de clientes duplicando en varias máquinas el contenido idéntico almacenado en antememoria. Esto es de gran utilidad para sitios Web de alto volumen.

Sin embargo, si el sitio Web da soporte a un volumen moderado de tráfico de cliente para un contenido muy diverso, y si prefiere tener una antememoria más grande a lo largo de varios servidores, el sitio tendrá un mejor rendimiento si cada servidor de antememoria incluye contenido exclusivo y Load Balancer sólo distribuye la petición al servidor de antememoria con dicho contenido.

Con la afinidad de URI, Load Balancer le permite distribuir el contenido almacenado en antememoria a servidores individuales y elimina el almacenamiento en antememoria redundante del contenido en varias máquinas. Con esta mejora aumenta el rendimiento de sitios de servidores de contenido diverso que utilizan servidores Caching Proxy. Se enviarán peticiones idénticas al mismo servidor y de esta forma sólo se almacenará en antememoria el contenido en servidores individuales. El tamaño real de la antememoria irá aumentando con cada nueva máquina servidor añadida a la agrupación.

Para configurar la afinidad de URI: