8. Diseñando Mule Applications con Cache Scope y Watermark


El concepto de Caché se refiere al almacenamiento de datos temporalmente para un acceso más rápido. Utilizar el Cache Scope te permite cachear información eficientemente, con Object Store como el mecanismo predeterminado para guardar estos datos.

 

Gestión de Estado con Caché en MuleSoft

La caché en MuleSoft sirve para mantener el estado de múltiples peticiones en una aplicación Mule durante un período determinado. Esto te ayuda a evitar el procesamiento duplicado, ya que puedes reutilizar el resultado de operaciones previas almacenadas en caché.

Los estados de las peticiones pueden mantenerse en un almacenamiento de objetos en memoria para acceso rápido o en un almacenamiento persistente para durabilidad a largo plazo, así como en almacenes de terceros externos.

Limitaciones del Caché

Debes saber que la caché no almacena cargas útiles consumibles, como los streams, ya que estos son flujos de datos que se leen una sola vez. Además, mientras que un caché en memoria es el más rápido, tiende a ser el menos persistente; si se reinicia el sistema, lo que está en memoria se pierde.

En Mule 4, el alcance del caché no soporta directamente almacenes externos como bases de datos o Redis. Sin embargo, puedes implementar esta funcionalidad usando el SDK de Mule o mediante conectores para crear tu propia solución personalizada.

Es crucial entender cómo y cuándo usar el caché en tus aplicaciones Mule para optimizar el rendimiento y la eficiencia, considerando siempre las limitaciones y eligiendo la estrategia adecuada de acuerdo a tus necesidades.

Funcionamiento del Componente Cache Scope en MuleSoft

Cache Scope optimiza el rendimiento al reutilizar los resultados de operaciones previas para peticiones similares, reduciendo la carga y mejorando la respuesta de la aplicación.


Ejemplo de Cache Scope

Entendiendo el Watermarking en Mulesoft

Un watermark es como un marcador o una referencia que guarda un valor específico durante un ciclo de procesamiento recurrente. Este valor sirve para recordar hasta dónde se ha procesado en el último ciclo. Por ejemplo, si usas el timestamp de los registros procesados, en el siguiente ciclo, el sistema buscará registros con un timestamp posterior al watermark para procesar solo los nuevos o los que han cambiado.


Ejemplo de Watermarking
Los watermarks se almacenan en un Object Store, lo que permite a MuleSoft recordar este valor entre ciclos de procesamiento, incluso si se reinicia la aplicación.

Limitaciones del Watermarking

Es importante que sepas que no todos los conectores en Mulesoft soportan watermarking. Además, en los conectores de base de datos, no puedes usar múltiples columnas para establecer un watermark, y los atributos que puedes usar como watermarks son limitados y específicos para cada conector. Otro detalle es que, en procesamientos asíncronos, el orden de los valores watermark puede no ser secuencial, lo que podría ocasionar que se salten registros nuevos.

En resumen, los watermarks son útiles para procesar solo los datos nuevos o modificados, pero hay que tener en cuenta sus limitaciones al implementarlos en tus flujos de trabajo Mule.

 

Conclusión

Al diseñar tus Mule Applications, el uso inteligente de Cache Scope y Watermark puede significar un avance considerable en eficiencia y rendimiento. Aunque existen limitaciones, conocer y aplicar estas estrategias te permitirá optimizar tus flujos de trabajo y recursos. Asegúrate de elegir la mejor herramienta para cada caso, siempre enfocado en la mejora continua.

Deja un comentario

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