Voltar aos projetos

Banco digital

Auronix

Plataforma financeira ponta a ponta com contas, transferências e solicitações de pagamento.

Visão técnica

Banco digital orientado à consistência financeira

Auronix combina Java/Spring Boot, Angular e PostgreSQL com mensageria, SSE, Redis Pub/Sub e infraestrutura declarativa.

ImpactoOutbox

persistência e mensageria sem perda ou duplicidade de eventos financeiros

Core financeiro

Contas, transferências e solicitações de pagamento são protegidas por transações e constraints no PostgreSQL.

Eventos financeiros

Transactional Outbox processa lotes com FOR UPDATE SKIP LOCKED e consumidores idempotentes por eventId.

Tempo real e entrega

SSE com Redis Pub/Sub propaga saldos e transações em múltiplas réplicas.

Fluxo de execução

Fluxo principal

Banco digital orientado à consistência financeira

Auronix combina Java/Spring Boot, Angular e PostgreSQL com mensageria, SSE, Redis Pub/Sub e infraestrutura declarativa.

LOCK ACQUIRED -> BALANCE VALIDATED -> COMMIT -> EVENT DELIVERED

  1. 01

    Operação entra pelo cliente Angular

    A ação financeira chega ao backend Spring Boot e passa por validações de domínio antes da movimentação.

  2. 02

    Consistência é resolvida no banco

    Locks pessimistas em ordem determinística, revalidação de saldo e constraints reduzem risco em transferências concorrentes.

  3. 03

    Eventos são publicados com segurança

    A Outbox separa persistência e mensageria para evitar inconsistência entre dados gravados e eventos financeiros.

Decisões de engenharia

Arquitetura

Transactional Outbox

A Outbox evita inconsistências entre persistência e mensageria em operações financeiras.

Concorrência determinística

Locks pessimistas em ordem determinística e revalidação de saldo protegem transferências simultâneas.

Infraestrutura verificável

Terraform, VPC, EKS, Kubernetes, health checks, graceful shutdown, Docker Compose, kubeconform, CI/CD e Micrometer compõem a entrega.

Controles de risco

Confiabilidade

Perda ou duplicidade de eventos

Consumidores idempotentes por eventId e processamento em lotes com FOR UPDATE SKIP LOCKED reduzem efeitos duplicados.

Clientes dessincronizados

SSE com Redis Pub/Sub reduz polling e mantém clientes sincronizados entre réplicas.

Stack

Aplicação

  • Java
  • Spring Boot
  • Angular

Dados e eventos

  • PostgreSQL
  • RabbitMQ
  • Redis Pub/Sub
  • SSE

Infraestrutura

  • Terraform
  • EKS
  • Kubernetes
  • Docker Compose
  • kubeconform
  • Micrometer

Resultado

Consistência financeira com processamento assíncrono

O projeto concentra decisões de concorrência, mensageria, tempo real e infraestrutura para uma plataforma financeira.

persistência e mensageria sem perda ou duplicidade de eventos financeiros
Outbox

Próximo projeto

X Tube

Pipeline orientado a eventos para processar mídia com Go, SQS, S3, FFmpeg e Kafka.

Próximo projeto