Artigos
Cuidados ao usar CompletableFuture para chamadas remotas
Sem executor próprio e sem timeout, o CompletableFuture paralelo vira um gargalo compartilhado por todo o sistema.
Cuidados com @Async em sistemas distribuídos cheios de integrações
O @Async devolve o controle rápido, mas troca a garantia de execução por uma promessa em memória que some quando o pod cai.
Os cuidados ao usar catch para fazer rollback de um fluxo
O bloco catch que desfaz uma operação é código que só roda quando tudo já deu errado. É o lugar onde mais se erra.
Caracteres especiais em banco legado: isolar o driver antigo em vez de brigar com ele
Quando o driver moderno corrompe acentos ao gravar, um componente pequeno com o driver antigo resolve sem contaminar o resto do sistema.
O perigo do @Scheduled do Spring com mais de um pod
Em produção, cada instância roda o seu próprio agendador. Com dois pods, o job executa duas vezes.
Retry infinito não é resiliência
Como retentativas cegas em integrações distribuídas transformam uma instabilidade pontual em efeito cascata.