🚀 Ecossistema de Microsserviços
Esta seção detalha as responsabilidades e configurações dos serviços que compõem o ecossistema da plataforma.
Escolha Tecnológica: Quarkus Escolhemos Quarkus com Java 21 (Virtual Threads) devido ao tempo de inicialização ultrarrápido e baixo consumo de memória, ideal para ambientes de cloud-native e Kubernetes.
📦 Serviços Core
Auth & User Service
Responsável pelo ciclo de vida do usuário e integração com Keycloak.
- DB: SQL Server
- Eventos: Publica
UserCreatedEvent - Identity & Access
Financial Transaction Service
Onde o "dinheiro muda de mãos". Realiza pagamentos e transferências com alta consistência.
- DB: Oracle (ACID Compliance)
- Padrão: Outbox Pattern para mensageria resiliente
- Core Financial
Dashboard Service (CQRS Read Side)
Consolida dados analíticos de forma assíncrona para entregas em milissegundos.
- DB: MongoDB (NoSQL)
- Eventos: Consome de Apache Kafka
- Analytics
Batch Processor
Executa rotinas pesadas de fim de dia (EOD) e conciliações bancárias.
- Tech: Spring Batch + Java 21
- Agendamento: CronJobs Kubernetes
- Batch Processing
🔄 Fluxo de Transação (CQRS + Mensageria)
O diagrama abaixo ilustra o fluxo ponta a ponta desde a requisição do usuário até a atualização do dashboard em tempo real.
Outbox Pattern Utilizamos o Outbox Pattern para garantir que uma transação no banco de dados e a publicação de um evento no Kafka ocorram de forma atômica, evitando perda de eventos em caso de falha.