> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Arquitectura

> Explora la arquitectura modular de Midaz, centrada en el servicio Ledger y su infraestructura de soporte.

<Note>
  **En pocas palabras**: Midaz ejecuta el servicio Ledger modular y un servicio Tracer independiente. Despliega y escala cada servicio y su infraestructura de soporte según tu entorno. Para una visión general orientada al negocio, consulta [Sobre Midaz](/es/midaz/about-midaz).
</Note>

Midaz puede ejecutarse en entornos de nube pública o privada. Selecciona y opera la infraestructura que se ajuste a tus requisitos de despliegue.

Por dentro, Midaz usa una **arquitectura modular**. Ledger se organiza por límites de dominio, con infraestructura de soporte para almacenamiento, caché, mensajería y streaming; Tracer se ejecuta como un servicio independiente.

## Arquitectura modular

***

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

<Frame caption="Figura 1. Macro-arquitectura de Midaz">
  <img src="https://mintcdn.com/lerian-49cb71fc/B9cHZObpZjQzOyuk/images/es/d2/midaz-macro-architecture.svg?fit=max&auto=format&n=B9cHZObpZjQzOyuk&q=85&s=2f5003c3e3d06916a3568e2a2ee99af0" alt="Diagrama de la macroarquitectura de Midaz" className="mx-auto" style={{ width:"77%" }} width="2314" height="1246" data-path="images/es/d2/midaz-macro-architecture.svg" />
</Frame>

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

El cliente gestiona esta capa. Proporciona la base de Kubernetes que ejecuta Midaz. Habilita estos servicios para 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*

La capa de front-end proporciona la interfaz de usuario para la interacción con el sistema (panel de administración, dashboards, y más).

<Note>
  **Transición importante**: las versiones más recientes de Midaz ya no incluyen una consola integrada en el repositorio. **[Lerian Console](/es/platform/console/about-lerian-console)** ahora proporciona la interfaz visual. Es una plataforma unificada que incluye Midaz como un módulo de producto.

  Si usas una versión anterior de Midaz, puede que aún tengas la **Midaz Console** independiente. Este componente ahora está en modo de mantenimiento. Solo recibe parches de seguridad críticos. Migra a Lerian Console para obtener las últimas funcionalidades y mejoras.
</Note>

### 3. Capa de *Back-end*

El back-end de Ledger es un **monolito modular** que concentra las responsabilidades principales del ledger de Midaz. Midaz también ejecuta Tracer como un servicio independiente.

Ledger reúne cuatro componentes principales:

* **Dominio de Onboarding**: gestiona organizaciones, ledgers, activos, portfolios, segmentos y cuentas.
* **Dominio de Transacciones**: maneja las transacciones financieras, las operaciones y los movimientos de activos.
* **CRM**: está integrado en el proceso de Ledger.
* **Fees**: está integrado en el proceso de Ledger.

Este enfoque mantiene límites claros entre dominios. También simplifica el despliegue y reduce la complejidad operativa.

### 4. Capa de Datos

Esta capa contiene las bases de datos y los componentes de infraestructura que dan soporte a los datos de las aplicaciones y a los flujos de eventos:

* **PostgreSQL**: bases de datos separadas `onboarding` y `transaction`, cada una configurada con conexiones primarias y de réplica.
* **Valkey**: Un almacén de clave-valor compatible con Redis para *caching* o recuperación rápida de datos.
* **MongoDB**: Almacena datos no estructurados y semiestructurados, como metadatos de entidades.
* **RabbitMQ**: Agente de mensajes (*Message broker*) para la comunicación asíncrona entre servicios.
* **Redpanda**: broker compatible con Kafka para los flujos de eventos de Ledger. Ledger publica eventos configurados en él solo cuando `STREAMING_ENABLED=true` y hay brokers de streaming configurados.

La persistencia depende del despliegue. La configuración Compose incluida no monta un volumen de datos para Redpanda; configura el almacenamiento y la retención de producción para cada servicio.

### 5. Capa de *Helm Chart*

Midaz usa **Helm Charts** (específicamente `lerianstudio/helm`) para desplegar y configurar la infraestructura.

El chart conecta el código con Kubernetes. Despliega cada componente de la misma manera en todos los entornos.

<Tip>
  Para más detalles, consulta la página [Desplegar usando Helm](/es/platform/helm/midaz/midaz-installation).
</Tip>

## Cómo trabajan juntas las capas

***

Cada capa tiene un rol específico, sin complejidad innecesaria. El sistema escala y se adapta a medida que cambian tus necesidades.

* Kubernetes coordina cómo se comunican las capas, para interacciones seguras y fiables en todo el sistema.
* Helm mantiene sincronizados los despliegues y las configuraciones, de modo que el escalado y las actualizaciones se mantienen sencillos.

Como la plataforma es modular, extenderla es sencillo. Puedes añadir nuevos componentes según sea necesario sin interrumpir lo que ya está en funcionamiento.
