Introducción: Clústeres

Los clústeres son grupos de servidores que se gestionan juntos y participan en la gestión de la 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 más 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 diferentes configuraciones y aplicaciones entre sí dependiendo de la discreción del administrador y de lo que tiene sentido en sus entornos de organización.

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 clúster miembros. 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 la integración de servicios o con beans controlados por mensajes en el servidor de aplicaciones.

Opciones de proceso de arranque de

El proceso de ejecución normal inicia automáticamente todos los componentes del servidor durante el proceso de arranque 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 de clúster, de modo que no todos los componentes del servidor se inician durante el proceso de arranque del servidor. Esta capacidad permite al servidor consumir recursos según sea necesario, proporcionando así una huella más pequeña y más manejable, y normalmente resulta en 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 de forma dinámica, ya 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. Dado 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 se despliegue 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 posibilidades de alojar la aplicación. Un grupo de nodos se puede utilizar para definir grupos de nodos que tienen suficiente en común para alojar miembros de un clúster determinado. Todos los miembros del 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 de clúster que añada al clúster sólo pueden estar en nodos que sean miembros de este mismo grupo de nodos. Al crear 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 servidor para cambiar el grupo de nodos.

Grupos y grupos principales

En un entorno de alta disponibilidad, se puede definir un grupo de clústeres como 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 a WebSphere Application Server proporcionar alta disponibilidad para las aplicaciones que siempre deben estar disponibles para los usuarios finales. También puede configurar grupos principales para que se comuniquen entre sí utilizando puente de grupo principal. Los grupos principales pueden comunicarse dentro de la misma célula o a través de las células.

Miembros del clúster

Puede mejorar el rendimiento del sistema si configura cada miembro del clúster, de modo que cada uno de sus componentes se inicie de forma dinámica, ya que son necesarios en lugar de permitir que todos estos componentes se inicien automáticamente cuando se inicie el miembro del clúster. La selección de esta opción puede mejorar el tiempo de inicio del clúster y reducir la huella de memoria de los miembros del clúster. Los componentes de inicio que son necesarios son más eficaces si todas las aplicaciones que se despliegan en el clúster son del mismo tipo. Por ejemplo, utilizar esta opción funciona mejor si todas las aplicaciones son aplicaciones web que utilizan servlets y JavaServer Pages (JSP). Esta opción funciona de forma menos eficaz si las aplicaciones utilizan servlets, JSP y EJB (Enterprise JavaBeans ).

Evite problemas: Si dispone de clientes que se ejecutan en un entorno:
  • Que incluyan clientes ligeros Java™,
  • Que precisan que se direccionen entre varias células o
  • Que precisan que se direccionen entre una única célula que incluye nodos de versiones anteriores del producto,
es probable que de repente se encuentren en una situación en que la información del puerto sobre los miembros del clúster de destino ya esté obsoleta.

Esta situación se produce normalmente cuando todos los miembros del clúster tienen puertos dinámicos y se reinician durante un periodo de tiempo en 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 de clúster y, a continuación, utilice dichos nuevos datos de puerto para volver a direccionar a los miembros del clúster.

Si se producen errores que impiden que el cliente se comunique con el agente de nodo o que impiden que los datos del puerto nuevo se propaguen entre los miembros del clúster y el agente de nodo, pueden surgir anomalías de solicitud en el cliente. En algunos casos, estos errores son temporales. En otros casos, tendrá que reiniciar uno o más procesos para resolver una anomalía.

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