WebSphere Extended Deployment, Version 6.0.x     Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows, z/OS

Reequilibrio de sesiones HTTP

WebSphere Extended Deployment puede equilibrar de forma dinámica y activa la distribución de sesiones HTTP entre los servidores de aplicaciones.

WebSphere Application Server asigna sesiones HTTP en base a la afinidad de servidores de aplicaciones. Después de establecer una sesión en un servidor de aplicaciones determinado, las peticiones subsiguientes que pertenecen a la misma sesión se asignan al servidor de aplicaciones que tiene afinidad de sesión establecida.

Las afinidades de sesión equilibran a largo plazo la carga de la sesión para un clúster y generalmente todos los desequilibrios que se produzcan son de corta duración y se pueden tolerar. Sin embargo, puede utilizar el reequilibrio de la sesión para evitar que se produzcan algunos de los desequilibrios a corto plazo, sin modificar las ventajas del rendimiento de las afinidades de la sesión.

WebSphere Extended Deployment introduce el reequilibrio de sesiones para agilizar el equilibrio de sesiones por todo un clúster. Puede utilizar el reequilibrio de sesiones si utiliza sesiones distribuidas y realizar seguimiento de las sesiones con cookies. Por omisión, los servidores de aplicaciones de WebSphere Extended Deployment se configuran con el rastreo de sesiones habilitado utilizando cookies, pero sin sesiones distribuidas.

Para configurar los servidores de aplicaciones para sesiones distribuidas, consulte Valores de entorno distribuido. Para obtener más información sobre cada una de las dos opciones disponibles, consulte Configuración de la persistencia de sesiones de bases de datos y Configuración de la duplicación de memoria a memoria para la modalidad de igual a igual (duplicación de memoria a memoria por omisión).

En el tema "Configuración de la duplicación de memoria a memoria para la modalidad de igual a igual (duplicación de memoria a memoria por omisión)", se describen los pasos para configurar los servidores en clústeres estáticos, pero estos pasos también se pueden utilizar para los servidores en clústeres dinámicos. Si configura clústeres dinámicos, deje el clúster dinámico en modalidad estática inicialmente para que los servidores del clúster no se inicien automáticamente. Una vez modificados los valores del entorno distribuido de todos los servidores del clúster, cambie el clúster dinámico a la modalidad automática. Si no cambia las modalidades, debe detener y reiniciar los servidores que ya se han iniciado en el clúster dinámico para elegir los cambios de valores del entorno distribuido.

Cuando un nuevo servidor pasa a estar disponible en un clúster dinámico, dicho servidor no tiene asignada ninguna sesión HTTP. Sin embargo, los servidores existentes en el clúster dinámico tienen sesiones con afinidad asignada.

[Version 6.0 only] Con WebSphere Extended Deployment Versión 6.0, el objetivo del reequilibrio de sesiones es reasignar sesiones de modo que cada servidor tenga una proporción igual de todas las sesiones existentes. El número de sesiones que se asignan al nuevo servidor de aplicaciones se determina a partir del número de sesiones que hay en cada servidor de aplicaciones existente y el peso de cada servidor de aplicaciones. La función de reequilibrio de sesiones se ejecuta en todos los servidores de aplicaciones. Todos los servidores de aplicaciones reconocen los nuevos servidores de aplicaciones que pasan a estar disponibles y los pesos y número de sesiones de cada servidor. Con estos números, el servidor de aplicaciones puede determinar cuántas sesiones trasladar del servidor de aplicaciones actual al nuevo. El número de sesiones que deben trasladarse se pasa a un filtro de servlets HTTP que se añade dinámicamente en el inicio del servidor para interceptar y redirigir las peticiones de sesión.

[Version 6.0.1 and later] Con WebSphere Extended Deployment Versión 6.0.1 y posteriores, el objetivo del reequilibrio de sesiones es reasignar sesiones de modo que el número de sesiones que se ejecutan en cada servidor del clúster dinámico sea proporcional al peso asignado de los servidores. El gestor de carga de trabajo dinámica (DWLM) realiza la función de reequilibrio de sesiones. DWLM determina cuántas sesiones se van a trasladar y dónde se van a trasladar basándose en el conocimiento de que dispone aproximadamente de todo el clúster dinámico. El componente DWLM contribuye a la ubicación de sesiones y puede iniciar el traslado de sesiones además de cambiar el peso en servidores determinados. Se pueden iniciar los traslados mediante sucesos que DWLM supervisa como el inicio de nuevos servidores, servidores sobrecargados, etc.

[Version 6.0.1 and later] Si utiliza el soporte de sesiones HTTP basado en ObjectGrid en lugar de la gestión de sesiones de WebSphere Application Server normal, el reequilibrio de sesiones HTTP no está soportado.

Si utiliza sesiones mantenidas por ID de SSL (Secure Sockets Layer) o reescritura de URL (Uniform Resource Locator), no se lleva a cabo ningún reequilibrio. El reequilibrio tampoco se lleva a cabo en peticiones HTTP POST. Las sesiones no se reequilibran si se accede a la sesión emitiendo la petición HTTP directamente al puerto HTTP del servidor de aplicaciones, pasando por alto el direccionador On Demand. El contador PMI para sesiones de memoria refleja las sesiones que se trasladan. En concreto, el contador PMI disminuye en servidores existentes a medida que se trasladan sesiones y aumenta en los nuevos servidores iniciados recientemente. Sin embargo, se equilibra la carga de las nuevas sesiones por todos los servidores del clúster. Consulte el Centro de información de WebSphere Application Server Network Deployment para obtener más información sobre el análisis de datos PMI y los procedimientos recomendados para utilizar sesiones HTTP.

Puede habilitar o inhabilitar el reequilibrio de sesiones ajustando la propiedad personalizada HttpSessionRebalanceOff en la consola administrativa. Consulte Propiedades personalizadas para la ubicación de aplicaciones para obtener más información.

[Version 6.0 only]

Ejemplo

Con el reequilibrio de sesiones habilitado y nuevos arranques de servidor en el clúster dinámico, las siguientes acciones redistribuyen las peticiones de sesiones al nuevo servidor:

  1. Un nuevo servidor de aplicaciones pasa a estar disponible en el clúster dinámico.
  2. El componente de reequilibrio de sesiones en cada servidor existente recibe la notificación de la adición junto con los pasos de cada servidor y el número de sesiones de cada servidor existente. En función de dicha información, el componente de reequilibrio de sesiones en cada servidor calcula el número de sesiones que debe mover al nuevo servidor.
  3. Mientras, el cliente genera una petición para una sesión existente, enviando el cookie que está establecido en el navegador del cliente.
  4. La cookie contiene un ID de sesión y un ID de servidor, y está asignada a un servidor de aplicaciones existente que tiene una afinidad de sesión establecida.
  5. En el servidor con la afinidad de sesión, si el número de sesiones que se deben mover al nuevo servidor no se ha alcanzado, el filtro de servlet modifica la respuesta para la petición. En lugar de enviar la respuesta real, el filtro del servlet envía una redirección al cliente que contiene el ID de servidor para el nuevo servidor de aplicaciones. Si el servidor de aplicaciones no traslada la sesión al nuevo servidor de aplicaciones, el servlet filtra la petición y la remite a los servlets.
En el siguiente diagrama se muestra este proceso:
Figure 1. Reequilibrio de sesiones HTTP en WebSphere Extended Deployment Versión 6.0

[Version 6.0.1 and later]

Ejemplo

A continuación, se proporciona un ejemplo de reequilibrio de sesiones en un entorno de Extended Deployment Versión 6.0.1 y posteriores:

  1. En el clúster dinámico, pasa a estar disponible un nuevo servidor o pasa a estar sobrecargado uno existente.
  2. El gestor de carga de trabajo dinámica (DWLM) calcula el número de sesiones que se van a trasladar. Si hay disponible un nuevo servidor, DWLM puede asignar sesiones al nuevo servidor de servidores existentes. Si un servidor existente pasa a estar sobrecargado, el DWLM puede trasladar sesiones del servidor sobrecargado a otros servidores del clúster dinámico.
  3. Mientras, el cliente genera una petición para una sesión existente, enviando el cookie que está establecido en el navegador del cliente.
  4. La cookie contiene un ID de sesión y un ID de servidor, y está asignada a un servidor de aplicaciones existente que tiene una afinidad de sesión establecida.
  5. Si DWLM ha indicado que es necesario trasladar varias sesiones del servidor de destino a otros servidores del clúster, el filtro de servlet envía una redirección de nuevo al cliente que contiene el nuevo ID de servidor. Si las distintas sesiones que DWLM recomienda trasladar a otros servidores ya se han trasladado, el filtro de servlet reenvía la petición al servidor identificado por el ID de servidor.
En el siguiente diagrama se muestra este proceso:
Figure 2. Reequilibrio de sesiones HTTP en WebSphere Extended Deployment Versión 6.0.1 y posteriores
Caso de ejemplo de reequilibrio de sesiones v601



Related tasks
Creación y configuración de clústeres dinámicos

Tema de concepto    

Condiciones de uso | Comentarios Última actualización: Mar 14, 2006 11:01:03 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/odoe_task/codrsessionbalance.html

© Copyright IBM 2004, 2006. Reservados todos los derechos.
Este centro de información se ha realizado con tecnología de Eclipse. (http://www.eclipse.org)