Introducción: Clústeres

Los clústeres son grupos de servidores que se gestionan juntos y participan en la gestión de carga de trabajo. Un clúster puede contener nodos o servidores de aplicaciones individuales. Un nodo suele ser un sistema físico con una dirección IP de host distinta que ejecuta uno o varios servidores de aplicaciones. Los clústeres se pueden agrupar bajo la configuración de una célula, que asocia lógicamente muchos servidores y clústeres con distintas configuraciones y aplicaciones entre sí en función de la discreción del administrador y de lo que tenga sentido en sus entornos organizativos.

Los clústeres son responsables de equilibrar la carga de trabajo entre los servidores. Los servidores que forman parte de un clúster se denominan miembrosdel clúster. Cuando instala una aplicación en un clúster, la aplicación se instala automáticamente en cada miembro del clúster. Puede configurar un clúster para proporcionar equilibrio de carga de trabajo con integración de servicios o con beans controlados por mensajes en el servidor de aplicaciones.

Opciones de proceso de inicio de clúster

El proceso de tiempo de ejecución normal inicia automáticamente todos los componentes del servidor durante el proceso de inicio del servidor. Este proceso se aplica a todos los servidores, incluidos los servidores que forman parte de un clúster. Sin embargo, puede configurar servidores, incluidos los servidores que son miembros del clúster, de forma que no todos los componentes del servidor se inicien durante el proceso de arranque del servidor. Esta capacidad permite que el servidor consuma recursos según sea necesario, proporcionando así una ocupación más pequeña y más manejable, y normalmente da como resultado una mejora del rendimiento.

Cuando configura miembros de clúster de forma que no todos los componentes de miembro de clúster se inician cuando se inicia el clúster o un miembro de clúster específico, los componentes de miembro de clúster se inician dinámicamente a medida que son necesarios. Por ejemplo, si se inicia un módulo de aplicación que requiere un componente de servidor específico, dicho componente se inicia dinámicamente.

Clústeres y grupos de nodos

Cualquier aplicación que instale en un clúster debe poder ejecutarse en cualquier servidor de aplicaciones que sea miembro de dicho clúster. Puesto que un grupo de nodos forma los límites de un clúster, todos los miembros de un clúster deben ser miembros del mismo grupo de nodos. Por lo tanto, para que la aplicación que despliegue se ejecute correctamente, todos los miembros de un clúster deben estar ubicados en nodos que cumplan los requisitos de dicha aplicación.

En una célula que tiene muchas configuraciones de servidor diferentes, puede ser difícil determinar qué nodos tienen las prestaciones para alojar la aplicación. Un grupo de nodos se puede utilizar para definir grupos de nodos que tienen suficientes en común para alojar miembros de un clúster determinado. Todos los miembros de clúster de un clúster deben estar en el mismo grupo de nodos.

Todos los nodos son miembros de al menos un grupo de nodos. Al crear un clúster, el primer servidor de aplicaciones que añada al clúster define el grupo de nodos en el que deben residir todos los demás miembros del clúster. Todos los demás miembros del clúster que añada al clúster sólo pueden estar en nodos que sean miembros de este mismo grupo de nodos. Cuando crea un nuevo miembro de clúster en la consola administrativa, se le permite crear el servidor de aplicaciones en un nodo que es miembro del grupo de nodos sólo para ese clúster.

Los nodos pueden ser miembros de varios grupos de nodos. Si el primer miembro de clúster que añade a un clúster tiene varios grupos de nodos definidos, el sistema elige automáticamente el grupo de nodos que limita el clúster. Puede cambiar el grupo de nodos modificando los valores del clúster. Utilice la página Valores de clúster de servidores para cambiar el grupo de nodos.

Clústeres y grupos principales

En un entorno de alta disponibilidad, un grupo de clústeres se puede definir como un grupo principal. Todos los servidores de aplicaciones definidos como miembros de uno de los clústeres incluidos en un grupo principal son automáticamente miembros de dicho grupo principal. Los servidores de aplicaciones individuales que no son miembros de un clúster también se pueden definir como miembros de un grupo principal. El uso de grupos principales permite que WebSphere® Application Server proporcione alta disponibilidad para las aplicaciones que siempre deben estar disponibles para los usuarios finales. También puede configurar grupos principales para comunicarse entre sí utilizando el puente de grupo principal. Los grupos principales pueden comunicarse dentro de la misma célula o entre células.

Miembros de clúster

Puede mejorar el rendimiento del sistema si configura cada miembro del clúster, de forma que cada uno de sus componentes se inicie dinámicamente según sea necesario, en lugar de permitir que todos estos componentes se inicien automáticamente cuando se inicie el miembro del clúster. Seleccionar esta opción puede mejorar el tiempo de inicio del clúster y reducir la ocupación de memoria de los miembros del clúster. El inicio de los componentes a medida que son necesarios es más eficaz si todas las aplicaciones desplegadas en el clúster son del mismo tipo. Por ejemplo, el uso de esta opción funciona mejor si todas las aplicaciones son aplicaciones web que utilizan servlets y JSP (JavaServer Pages). Esta opción funciona de forma menos eficaz si las aplicaciones utilizan servlets, JSP y Enterprise JavaBeans (EJB).

Evitar problemas: Si tiene clientes que se ejecutan en un entorno:
  • Esto incluye clientes ligeros Java™ ,
  • Donde las solicitudes se direccionan entre varias celdas, o
  • Donde las solicitudes se direccionan dentro de una única célula que incluye nodos de versiones anteriores del producto,
pueden encontrarse de repente en una situación en la que la información de puerto sobre los miembros del clúster de destino se haya quedado obsoleta.

Esta situación se produce con más frecuencia cuando todos los miembros del clúster tienen puertos dinámicos y se reinician durante un periodo de tiempo en el que no se envían solicitudes. El proceso de cliente en este estado intentará finalmente direccionar al agente de nodo para recibir los nuevos datos de puerto para los miembros del clúster y, a continuación, utilizar esos nuevos datos de puerto para direccionar de nuevo a los miembros del clúster.

Si se producen problemas que impiden que el cliente se comunique con el agente de nodo, o que impiden que los nuevos datos de puerto se propaguen entre los miembros del clúster y el agente de nodo, es posible que se produzcan errores de solicitud en el cliente. En algunos casos, estas anomalías son temporales. En otros casos, debe reiniciar uno o varios procesos para resolver una anomalía.

Para evitar los problemas de direccionamiento de cliente que pueden surgir en estos casos, puede configurar puertos estáticos en los miembros del clúster. Con los puertos estáticos, los datos de puerto no cambian a medida que un proceso de cliente obtiene información sobre los miembros del clúster. Incluso si los miembros del clúster se reinician, o si hay problemas de comunicación o propagación de datos entre procesos, los datos de puerto que mantiene el cliente siguen siendo válidos. Esta elusión no resuelve necesariamente los problemas de comunicación o propagación de datos subyacentes, pero elimina los síntomas de decisiones de direccionamiento de cliente inesperadas o desiguales.