Introducción: clústeres
Los clústeres son grupos de servidores que se gestionan en conjunto y que participan en la gestión de las cargas de trabajo. Un clúster puede contener nodos o servidores de aplicaciones individuales. Un nodo corresponde generalmente a un sistema físico que posee una dirección de host IP exclusiva y que ejecuta uno o más servidores de aplicaciones. Los clústeres pueden agruparse bajo la configuración de una celda, que asocia lógicamente muchos servidores y clústeres con diversas configuraciones y aplicaciones entre sí dependiendo del criterio del administrador y lo que considere oportuno para el entorno de su organización.
Los clústeres son responsables del equilibro del flujo de trabajo entre servidores. Los servidores que forman parte de un clúster se denominan miembros del 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 que haya equilibrio de la carga de trabajo con la integración del servicio o los beans controlados por mensajes en el servidor de aplicaciones.
Como cada miembro del clúster contiene las mismas aplicaciones, puede distribuir las tareas de cliente en plataformas distribuidas según las posibilidades de las distintas máquinas de la empresa, asignando los pesos a los distintos servidores.
En plataformas distribuidas, la asignación de pesos a los distintos servidores de un clúster mejora el rendimiento y la migración tras error. Las tareas se asignan a los servidores que disponen de capacidad para
realizar las operaciones de la tarea. Si un servidor no puede realizar una tarea, se le asigna a otro miembro
del clúster. Esta función de reasignación comporta ventajas evidentes si la comparamos con un
único servidor de aplicaciones, que puede sobrecargarse si recibe demasiadas
solicitudes.
Opciones del proceso de inicio de un clúster
El proceso normal de ejecución 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 que son parte de un clúster. No obstante, puede configurar los servidores, incluidos los que son miembros de un clúster, de forma que no todos los componentes del servidor se inicien durante el proceso de inicio del servidor. Esta prestación permite que el servidor consuma los recursos cuando sean necesarios, así proporciona un espacio reducido y más manejable y normalmente produce una mejora del rendimiento.
Cuando configura miembros de un clúster de forma que no todos los componentes miembros del clúster se inician cuando se inicia el clúster o un miembro del clúster determinado, los componentes miembros del clúster se inician dinámicamente cuando son necesarios. Por ejemplo, si se inicia un módulo de aplicación que requiere un componente de servidor determinado, dicho componente se inicia dinámicamente.
Clústeres y grupos de nodos
Las aplicaciones que instale en un clúster deben poder ejecutarse en cualquier servidor de aplicaciones que sea miembro de ese 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 consiguiente, para que la aplicación desplegada se ejecute correctamente, todos los miembros de un clúster deben encontrarse en nodos que cumplan los requisitos de dicha aplicación.
En una célula que tiene muchas configuraciones de servidor distintas, puede ser difícil determinar qué nodos pueden albergar la aplicación. Un grupo de nodos puede utilizarse para definir grupos de nodos que tienen suficiente en común como para albergar miembros de un clúster determinado. Todos los miembros 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 se añade a dicho clúster define el grupo de nodos en el que deben residir los demás miembros de clúster. Todos los otros miembros de clúster que añade 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, sólo puede crear el servidor de aplicaciones en un nodo que sea miembro del grupo de nodos para ese clúster.
Los nodos pueden ser miembros de varios grupos de nodos. Si el primer miembro que añade a un clúster tiene definidos varios grupos de nodos, el sistema selecciona automáticamente el grupo de nodos que enlaza con 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 puede definirse como grupo principal. Todos los servidores de aplicaciones definidos como miembros de uno de los clústeres incluidos en un grupo principal pasan automáticamente a ser 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. La utilización de grupos principales permite que WebSphere Application Server proporcione una alta disponibilidad para las aplicaciones que siempre deban estar disponible para los usuarios finales. También puede configurar grupos principales para comunicarse entre sí mediante el puente de grupo principal. Los grupos principales pueden comunicarse dentro de la misma célula o entre células.
Miembros del clúster
Puede mejorar el rendimiento del sistema si configura cada miembro de clúster de forma que cada uno de sus componentes se inicie dinámicamente cuando sea necesario en vez de dejar que todos estos componentes se inicien automáticamente al iniciarse el miembro de clúster. Seleccionar esta opción puede mejorar el tiempo de arranque del clúster y reducir el consumo de memoria de los miembros del clúster. Iniciar los componentes cuando son necesarios es más eficaz si todas las aplicaciones que están desplegadas en el clúster son del mismo tipo. Por ejemplo, esta opción funciona mejor si todas las aplicaciones son aplicaciones web que utilizan servlets y JavaServer Pages (JSP). Esta opción no funciona tan eficazmente si la aplicación utiliza servlets, JSP y Enterprise JavaBeans (EJB).

- 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,
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 finalmente intentará direccionar al agente de nodo para recibir los nuevos datos de puerto para los miembros del clúster y, a continuación, utilice los nuevos datos de puerto para direccionar otra vez 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, estas anomalías 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.
gotcha