Keiken · Tempo integral · fev 2023 — jan 2024
Movimentação de dinheiro assíncrona num marketplace de benefícios
Responsabilidade de backend nos fluxos entre parceiros, clientes e empresas associadas.


A ideia
A liquidação não cabe num request. O dinheiro entre parceiros, clientes e empresas associadas tem que se mover num caminho assíncrono que ainda fecha o mês.
A situação
A Keiken é um marketplace de benefícios. O backend já existia. Aprendi Java e Spring Boot no trabalho para estender a API sem quebrar a liquidação entre as partes.
Como funciona
O evento do parceiro entra, um worker liquida o lote, e o livro é lido com filtros que doeriam como SQL ad hoc. O mês gira cerca de R$ 120 mil. Se esse caminho é síncrono, um parceiro lento segura todo mundo.
A ideia era tratar a movimentação como mensagem mais um fechamento agendado, e colocar JUnit no caminho para uma mudança no QueryDSL não pular uma parte em silêncio.
O que saiu
Fluxos assíncronos com Spring Messaging, cron jobs para o lote, QueryDSL para as leituras complexas e testes de regressão no caminho da liquidação.
- 01Evento do parceiro ingeridoSpring Messaging
- 02Cron liquida o loteagendado
- 03QueryDSL lê o livrofiltros complexos
- 04JUnit protege o caminhorede de regressão
- Mensal
- R$ 120 mil
- Estilo
- Assíncrono
- Testes
- JUnit
O problema
O dinheiro precisava se mover com confiabilidade entre as partes. Aprendi Java e Spring Boot no trabalho para estender uma API existente sem quebrar a liquidação.
O que saiu
Construí fluxos assíncronos com Spring Messaging e cron jobs processando cerca de R$ 120 mil por mês, além de cobertura com JUnit e consultas em QueryDSL.