Saltar al contenido principal
Midaz está diseñado para una portabilidad e independencia genuinas; puedes desplegarlo en cualquier nube pública o privada sin estar atado a un solo proveedor. Internamente, utilizamos una arquitectura de microservicios, lo que permite que cada componente sea autosuficiente y fácilmente escalable (o reemplazable) a medida que tus requisitos cambian.

Arquitectura de microservicios


El diagrama a continuación (Figura 1) muestra cómo encajan las piezas.
Midaz Macro Architecture Jp

Figura 1. Macro-arquitectura de Midaz

1. Capa de Cluster (gestión del cliente)

Esta capa es gestionada por el cliente y proporciona la base de Kubernetes para ejecutar Midaz. Recomendamos habilitar los siguientes servicios para garantizar un despliegue fluido y seguro:
  • Service (Servicio): Abstracción de redes para exponer y enrutar servicios.
  • AutoScaler (Autoescalador): Ajusta automáticamente el número de pods.
  • HPA (Horizontal Pod Autoscaler): Escala aplicaciones basándose en métricas.
  • Secrets (Secretos): Gestión segura de datos sensibles.
  • ConfigMap: Gestión de configuración externalizada.
Esta capa gobierna y coordina todos los componentes dentro del cluster.

2. Capa de Front-end

Incluye la Consola de Midaz, que funciona como la interfaz de usuario para la interacción con el sistema (como el panel de administración, dashboards, etc.).

3. Capa de Back-end

Incluye los dos servicios que forman la base esencial del Libro Mayor de Midaz (Midaz Ledger):
  • Onboarding (Incorporación): Maneja la configuración de organización, libro mayor, activo (asset), cartera (portfolio), segmento y cuenta.
  • Transactions (Transacciones): Gestiona las transacciones financieras, operaciones y movimiento de activos.

4. Capa de Datos

Esta capa incluye las bases de datos y los componentes de infraestructura necesarios para soportar los datos de las aplicaciones y los flujos de eventos:
  • PostgreSQL (nombrado “Midaz”): Se utiliza como la base de datos relacional principal; incluye una réplica para redundancia o escalado de lectura.
  • Valkey: Un almacén de clave-valor compatible con Redis para caching o recuperación rápida de datos.
  • MongoDB: Probablemente se utilice para almacenar datos no estructurados o semiestructurados.
  • RabbitMQ: Agente de mensajes (Message broker) para la comunicación asíncrona entre servicios.
Cada uno de estos tiene un almacenamiento persistente asociado para la durabilidad de los datos.

5. Capa de Helm Chart

Midaz utiliza Helm Charts (específicamente lerianstudio/helm) para hacer que el despliegue y la configuración de la infraestructura sean más sencillos y eficientes. Sirve como el elemento de conexión entre el código y Kubernetes, asegurando que cada componente se despliegue de manera consistente en diferentes entornos.
  Para más detalles, consulta la página Desplegar usando Helm.

Infraestructura que funciona


En la arquitectura de Midaz, cada capa está enfocada, sin complejidad innecesaria. Escala de forma natural y se adapta a medida que cambian tus necesidades. Esta configuración no solo es técnicamente sólida, sino que está construida para el uso en el mundo real.
  • Kubernetes coordina cómo se comunica cada capa, asegurando interacciones seguras y fiables en todo el sistema.
  • Helm mantiene los despliegues y las configuraciones sincronizados, por lo que el escalado y las actualizaciones ocurren sin fricciones.
Debido a que la plataforma es modular, extenderla es simple. Puedes añadir nuevos componentes según sea necesario sin interrumpir lo que ya está en su lugar.
I