5. Comportamiento conectores en Clúster


En MuleSoft, ciertos conectores son «conscientes del clúster», es decir, están diseñados para trabajar eficientemente en un entorno de clúster. Estos conectores manejan el tráfico y los recursos de manera que se maximiza la disponibilidad y la eficiencia del clúster.

 

Clustering y Conectores

Es posible configurar el nodo primario en todos los componentes de tipo Event Source, o mejor dicho Triggers de evento,  que se mencionan a continuación.

 

Conectores HTTP

Los conectores basados en socket, como HTTP, reciben tráfico entrante y distribuyen las solicitudes a través de los nodos del clúster. Esta distribución asegura que ninguna solicitud se pierda incluso si un nodo falla. Para el tráfico saliente, estos conectores no requieren consideraciones especiales; el clúster los maneja de manera nativa.

  

 

Conectores FTP y Files

Los conectores que interactúan con recursos, como File y FTP, funcionan bajo el principio de que solo un nodo en el clúster puede acceder a un recurso específico en un momento dado. Esto previene conflictos y garantiza la integridad de los datos. Además, estos conectores generan recursos únicos por instancia para evitar sobreescrituras y colisiones.

 

FTP y File Distributed Locked:

Con los conectores basados en archivos y FTP, el clúster gestiona automáticamente el acceso para que solo un nodo pueda escribir en un recurso a la vez, lo que previene la escritura simultánea y conflictos potenciales.

 

Conectores VM y JMS

En cuanto a los conectores que actúan como listeners, como VM y JMS, debes decidir si escuchan en todos los nodos o solo en el nodo primario. Esto es crucial para el procesamiento de mensajes y la ejecución de flujos dentro del clúster.

Clustering para VM Connector:

Los mensajes publicados en colas VM dentro de un clúster se balancean automáticamente entre los nodos para que sean procesados por los flujos receptores. Esto no requiere infraestructura adicional y el clúster decide automáticamente qué nodo manejará el mensaje basándose en la carga actual.

 

Balanceo de Carga para JMS Connector:

El comportamiento por defecto del conector JMS en un clúster es recibir mensajes solo en el nodo primario. Sin embargo, si estás consumiendo de una cola, puedes configurar el nodo primario para recibir mensajes en todos los nodos del clúster, lo que es especialmente útil para suscripciones compartidas en tópicos JMS.

 

Programación y Distribución de Cargas

Los Schedulers dentro de un clúster, por defecto, solo se activan en el nodo primario para evitar la ejecución duplicada de tareas programadas. Esto ayuda a mantener una ejecución coherente y ordenada de procesos cronometrados.

 

Conclusión

Integrar estos conocimientos sobre conectores y clústeres en tu diseño MuleSoft te permitirá construir soluciones robustas y altamente disponibles, preparadas para cualquier carga de trabajo y para recuperarse de fallos sin interrumpir el servicio. Es este nivel de comprensión y adaptabilidad lo que te distinguirá como un arquitecto MuleSoft.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *