Em resumo: O Midaz executa o serviço Ledger modular e um serviço Tracer separado. Faça o deploy e escale cada serviço e sua infraestrutura de suporte conforme o ambiente. Para uma visão geral orientada a negócios, veja Sobre o Midaz.
Arquitetura modular
O diagrama abaixo (Figura 1) mostra como as peças se encaixam.
Figura 1. Macro-arquitetura do Midaz
1. Camada de cluster (gerenciamento do cliente)
O cliente gerencia esta camada. Ela fornece a base Kubernetes que executa o Midaz. Habilite estes serviços para um deploy tranquilo e seguro:- 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 baseado em métricas.
- Secrets: Gerenciamento seguro de dados sensíveis.
- ConfigMap: Gerenciamento de configuração externalizada.
2. Camada de front-end
A camada de front-end fornece a interface de usuário para interação com o sistema (painel administrativo, dashboards, e mais).Transição importante: as versões mais recentes do Midaz não incluem mais um console integrado no repositório. O Lerian Console agora fornece a interface visual. É uma plataforma unificada que 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 standalone. Este componente está agora em modo de manutenção. Ele recebe apenas patches críticos de segurança. Migre para o Lerian Console para obter as funcionalidades e 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 executa o Tracer como um serviço separado. O Ledger reúne quatro componentes principais:- Domínio de Onboarding: gerencia organizações, ledgers, ativos, portfolios, segmentos e contas.
- Domínio de Transações: lida com transações financeiras, operações e movimentações de ativos.
- CRM: está integrado ao processo do Ledger.
- Fees: está integrado ao processo do Ledger.
4. Camada de dados
Esta camada contém os bancos de dados e componentes de infraestrutura que dão suporte aos dados da aplicação e aos fluxos de eventos:- PostgreSQL: bancos de dados separados
onboardingetransaction, cada um configurado com conexões primárias e de 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: Message broker para comunicação assíncrona entre serviços.
- Redpanda: broker compatível com Kafka para os fluxos de eventos do Ledger. O Ledger publica eventos configurados nele somente quando
STREAMING_ENABLED=truee há brokers de streaming configurados.
5. Camada de Helm Chart
O Midaz usa Helm Charts (especificamentelerianstudio/helm) 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 trabalham juntas
Cada camada tem um papel específico, sem complexidade desnecessária. O sistema escala e se adapta conforme suas necessidades mudam.
- O Kubernetes coordena como as camadas se comunicam, para interações seguras e confiáveis em todo o sistema.
- O Helm mantém deploys e configurações sincronizados, para que a escalabilidade e as atualizações permaneçam simples.

