O Midaz roda o serviço Ledger modular e um serviço Tracer separado. Faça o deploy e escale cada serviço e a infraestrutura de suporte dele para o seu ambiente. Para uma visão geral orientada a negócio, veja Sobre o Midaz.
Fronteira de repositório e deploy
O Midaz v4.0.0 entrega dois runtimes em um único repositório e release source-available ELv2: o monólito modular do Ledger (com CRM e Fees) e o Tracer. O Tracer não fica embutido no processo do Ledger: faça o deploy dele e escale-o separadamente. O Ledger HTTP v2 pode optar pela interface de reserva unidirecional com o Tracer. O Ledger HTTP v1 nunca a chama. A superfície HTTP pública do Tracer continua sendo/v1, portanto essa interface não cria uma API pública Tracer v2. O Tracer nunca chama o Ledger.
Arquitetura modular
O diagrama abaixo (Figura 1) mostra como as peças se encaixam.
Figura 1. Macroarquitetura do Midaz
1. Camada de cluster (gestão do cliente)
O cliente gerencia essa camada. Ela fornece a base Kubernetes que roda o Midaz. Habilite estes serviços:- Service: abstração de rede para expor e rotear serviços.
- AutoScaler: ajusta automaticamente o número de pods.
- HPA (Horizontal Pod Autoscaler): escala aplicações com base em métricas.
- Secrets: gestão segura de dados sensíveis.
- ConfigMap: gestão de configuração externalizada.
2. Camada de front-end
A camada de front-end fornece a interface de usuário para a interação com o sistema (painel administrativo, dashboards e outros).Releases mais recentes do Midaz não incluem mais um console empacotado no repositório. O Lerian Console agora fornece a interface visual. O Lerian Console inclui o Midaz como um módulo de produto.Se você usa uma versão mais antiga do Midaz, ainda pode ter o Midaz Console independente. Esse componente agora está em modo de manutenção. Ele recebe apenas patches de segurança críticos. Migre para o Lerian Console para acessar os recursos e as melhorias mais recentes.
3. Camada de back-end
O back-end do Ledger é um monólito modular que concentra as responsabilidades principais do ledger do Midaz. O Midaz também roda o Tracer como um serviço separado. O Ledger reúne quatro componentes principais:- Domínio Onboarding: gerencia organizações, ledgers, ativos, portfólios, segmentos e contas.
- Domínio Transactions: trata transações financeiras, operações e movimentações de ativos.
- CRM: fica embutido no processo do Ledger.
- Fees: fica embutido no processo do Ledger.
4. Camada de dados
Essa camada reúne os bancos de dados e os componentes de infraestrutura que sustentam os dados da aplicação e os fluxos de eventos:- PostgreSQL: bancos de dados
onboardingetransactionseparados, cada um configurado com conexões primária e réplica. - Valkey: um armazenamento chave-valor compatível com Redis para cache ou recuperação rápida de dados.
- MongoDB: armazena dados não estruturados e semiestruturados, como metadados de entidades.
- RabbitMQ: broker de mensagens para comunicação assíncrona entre serviços.
- Redpanda: broker compatível com Kafka para os streams de eventos do Ledger. O Ledger apenas publica os eventos configurados nele quando você define
STREAMING_ENABLED=truee configura os brokers de streaming.
5. Camada de Helm Chart
O Midaz usa Helm Charts para fazer o deploy e configurar a infraestrutura. O chart conecta o código ao Kubernetes. Ele faz o deploy de cada componente da mesma forma em todos os ambientes.Como as camadas funcionam juntas
Cada camada tem um papel específico.
- O Kubernetes coordena como as camadas se comunicam.
- O Helm mantém os deploys e as configurações sincronizados.

