Skip to main content

Referencia de configuración del servicio Ledger


El servicio Ledger usa configuraciones de base de datos específicas por módulo:

Soporte para secretos externos

Referencia de flags de despliegue

Referencia de variables de entorno

Descripciones detalladas para las variables que no son auto-explicativas a partir del bloque YAML anterior.

Pools de conexión a base de datos

Para cargas de trabajo en producción, establece límites explícitos de pool para prevenir el agotamiento de conexiones. Un punto de partida común: MAX_OPEN_CONNS=25, MAX_IDLE_CONNS=10 por módulo de base de datos. Ajusta según tu configuración max_connections de PostgreSQL y el número de réplicas de Midaz.

RabbitMQ

Registro de auditoría

Cuando está habilitado, Midaz publica registros de auditoría detallados a nivel de operación en un exchange de RabbitMQ después de cada transacción. El payload de auditoría incluye los datos completos de la operación (montos, cuentas, saldos antes/después) serializados como JSON. Consumes estos eventos vinculando tu propia cola al exchange de auditoría.

Eventos de transacción

Procesamiento asíncrono de transacciones

Cuando RABBITMQ_TRANSACTION_ASYNC está habilitado, Midaz procesa las transacciones de forma asíncrona a través de consumidores RabbitMQ, en lugar de hacerlo de forma inline durante la solicitud a la API. El bulk recorder agrupa adicionalmente las escrituras a la base de datos para mayor rendimiento.
Las variables BULK_RECORDER_* solo tienen efecto cuando ambas RABBITMQ_TRANSACTION_ASYNC=true y BULK_RECORDER_ENABLED=true están activas.

Paginación

El límite del rango de fechas de paginación previene escaneos completos de tabla costosos en conjuntos de datos grandes. Si tu caso de uso requiere consultar datos históricos más allá de 3 meses, aumenta este valor o configúralo en 0 — pero monitorea el rendimiento de las consultas en consecuencia.