Desafios reais de arquitetura, dissecados
Exercícios resolvidos
Um formato de estudo ativo, feito em parceria com IA: ela escolhe um assunto e monta um desafio realista, uma resposta inicial é registrada sem consultar nada — às vezes errada de propósito — e o exercício termina dissecando onde essa resposta fura e o que a solução certa exige.
Desafio
um problema realista, do jeito que aparece no dia a dia
Resposta inicial
a primeira intuição, registrada antes de estudar
Dissecação
onde a resposta fura e o aprofundamento do tema
Exercício resolvido
Cobrança duplicada no retry
O app do cliente envia uma cobrança de R$ 250 e a resposta se perde no timeout. O cliente não sabe se passou e reenvia. O serviço roda em várias instâncias atrás de um load balancer. Como garantir que o cliente é cobrado uma vez só?
Exercício resolvido
Efeito externo sem registro local
A captura no adquirente passa, e o processo morre antes de gravar a cobrança no banco: dinheiro cobrado sem registro local. Como desenhar o fluxo para que isso nunca aconteça?
Exercício resolvido
Virtual threads, pinning e CLOSE_WAIT
Serviço de autorização com virtual threads congela no pico da tarde, sem erro no log: a JVM está viva, o health check estoura e o Kubernetes reinicia o pod. Onde está o problema?
Exercício resolvido
Bloqueio otimista e pessimista
Dois clientes leem a mesma linha, calculam a partir do que leram e os dois gravam — a segunda gravação apaga a primeira sem nenhum erro. Como impedir o lost update: detectar o conflito ou prevenir?
Arquitetura, código e aprendizado contínuo.