Arquitectura de microservicios
El diagrama a continuación (Figura 1) muestra cómo encajan las piezas.

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.
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.
5. Capa de Helm Chart
Midaz utiliza Helm Charts (específicamentelerianstudio/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.