Skip to main content

🚀 Ecossistema de Microsserviços

Esta seção detalha as responsabilidades e configurações dos serviços que compõem o ecossistema da plataforma.

info

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

1

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
2

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
3

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
4

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.

tip

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.