2. Optimizando el uso del Object Store en Cloudhub


El funcionamiento de los Object Store varía según el entorno en el que operes, y es distinto en un Runtime Plane autónomo comparado con Cloudhub.

 

Comprendiendo el Mulesoft Object Store

Imagina el Object Store como un armario con múltiples cajas de seguridad. Cada una se abre con una llave única y en ella almacenas valiosos objetos.

  • Clave-Valor: Almacenas datos en este formato, donde la «clave» es el identificador único de tu caja y el «valor», los datos que guardas dentro.
  • Serialización: Los valores son objetos de Java serializables, transformados en una secuencia de bytes para su almacenamiento o transmisión.
  • Acceso: Recuperas los objetos exclusivamente si dispones de la clave precisa. No existe una función de búsqueda generalizada.
  • Conexión: El ‘Object Store connector’ de tu aplicación Mule es tu punto de interacción con el Object Store.
  • Comunicación Alternativa: Algunas versiones ofrecen métodos adicionales de comunicación, como una conexión REST segura.

Encuentra el conector en Exchange.

 

Implementación Estratégica del Object Store

El Object Store no está diseñado para sustituir una base de datos tradicional ni para almacenar datos de manera prolongada y persistente.

 

Intención de Diseño:

  • Los Object Stores de MuleSoft se crearon para retener información entre ejecuciones de flujos, funcionando como memorias temporales que los flujos utilizan para compartir información.
  • Se utilizan principalmente para almacenar:
    • Información de sincronización, como watermarks, esenciales para el control de procesamiento de datos.
    • Información de vida corta, como tokens de acceso, imprescindibles para la interacción con APIs o servicios externos.
    • Datos de usuario específicos que se requieren durante un flujo.
    • Información en caché para potenciar el rendimiento mediante la reutilización de respuestas.

 

Comportamiento en Tiempo de Ejecución:

  • La configuración del Object Store puede ser:
    • Persistente: Los datos se conservan en discos o almacenamientos externos, sobreviviendo a reinicios de la Mule Application.
    • No persistente: Los datos se mantienen en la memoria de la Mule Application y se pierden con los reinicios.
  • La funcionalidad también varía según el lugar de despliegue de la Mule Application, bien sea en CloudHub con workers o en un ambiente local, ya sea individual o en clúster.

 

Seleccionando un Object Store Apropiado:

  • Cada Mule Application cuenta con un Object Store predeterminado, configurado para ser persistente.
  • Puedes añadir instancias adicionales de Object Stores, conocidas como particiones, como elementos globales a tu aplicación.
  • La elección entre persistente y no persistente dependerá de tus necesidades de durabilidad y disponibilidad de datos.

 

El Object Store en Cloudhub y sus Peculiaridades

Object Store Persistente (OSv2): Se apoya en el servicio Anypoint Object Store v2 (OSv2), asegurando que los datos sean compartidos y accesibles por todos los workers en CloudHub. Esto facilita la colaboración entre distintas instancias.

Object Store No Persistente: Implementado de forma local en cada worker de CloudHub, mantiene la información en la memoria RAM, lo que implica su carácter transitorio y volátil frente a reinicios o fallos.

Aspectos Clave del Object Store v2 (OSv2):

  • Funciona como un almacén simple de clave-valor, con acceso sincronizado por clave.
  • Utiliza TLS para el transporte y cifrado FIPS 140-2 para los datos en reposo, garantizando la seguridad de la información.
  • Está diseñado para almacenar principalmente:
    • Información de sincronización.
    • Información de vida corta como tokens de acceso.
    • Datos de usuario.
  • Admite una cantidad ilimitada de claves y un tamaño máximo de valor de 10 MB.
  • Los datos se conservan tras el rediseño y reinicio de la aplicación y se eliminan al borrar la aplicación.

 

Limitaciones a tener en cuenta:

  • El OSv2 tiene un propósito específico dentro de MuleSoft y no es adecuado para todas las necesidades de almacenamiento.
  • No soporta transacciones y no está diseñado para consultas o búsquedas complejas.
  • Los datos se eliminan automáticamente después de 30 días.
  • El servicio gratuito está limitado a 10 TPS, pero se puede extender con una licencia.

 

Conclusión

El conocimiento detallado del Object Store en Cloudhub es esencial para cualquier Mulesoft Architect. Aprovechar sus características mientras se entienden sus limitaciones permitirá diseñar aplicaciones más robustas, escalables y adecuadas a las necesidades específicas de cada proyecto. Recuerda que la elección entre persistente y no persistente debe alinearse con la estrategia de tu aplicación, siempre teniendo en cuenta la durabilidad y la disponibilidad requerida para tus datos.

Deja un comentario

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