Pular para o conteúdo principal

Referência de configuração do serviço Ledger


O serviço Ledger usa configurações de banco de dados específicas por módulo:

Suporte a secrets externos

Referência de flags de deployment

Referência de variáveis de ambiente

Descrições detalhadas para as variáveis que não são autoexplicativas a partir do bloco YAML acima.

Pools de conexão de banco de dados

Para cargas de trabalho em produção, defina limites explícitos de pool para evitar o esgotamento de conexões. Um ponto de partida comum: MAX_OPEN_CONNS=25, MAX_IDLE_CONNS=10 por módulo de banco. Ajuste com base na sua configuração max_connections do PostgreSQL e no número de réplicas do Midaz.

RabbitMQ

Audit logging

Quando habilitado, o Midaz publica logs de auditoria detalhados em nível de operação em um exchange do RabbitMQ após cada transação. O payload de auditoria inclui os dados completos da operação (valores, contas, saldos antes/depois) serializados como JSON. Você consome esses eventos vinculando sua própria fila ao exchange de auditoria.

Eventos de transação

Processamento assíncrono de transações

Quando RABBITMQ_TRANSACTION_ASYNC está habilitado, o Midaz processa transações de forma assíncrona via consumidores RabbitMQ, em vez de inline durante a requisição à API. O bulk recorder ainda agrupa gravações no banco de dados para maior throughput.
As variáveis BULK_RECORDER_* só têm efeito quando ambas RABBITMQ_TRANSACTION_ASYNC=true e BULK_RECORDER_ENABLED=true estão ativas.

Paginação

O limite do range de datas da paginação evita full table scans custosos em grandes volumes de dados. Se seu caso de uso precisa consultar dados históricos além de 3 meses, aumente esse valor ou defina como 0 — mas monitore o desempenho das consultas.