Arquitetura de Software
Microsserviços, domínios, eventos e consistência: as decisões caras de desfazer.
6 artigos, 2026
Artigos
6 artigos
CronJob ou endpoint + fila — onde rodar o batch de uma API Spring Boot no Kubernetes
Uma API Spring Boot no Kubernetes precisa de uma rotina agendada: CronJob com a mesma imagem e o perfil
batch, ou endpoint que enfileira no SQS para a própria API consumir? Onze critérios comparados.Efeito externo sem registro local — a cobrança passou e o banco não gravou
A captura no adquirente passa e a gravação no seu banco falha: grave a intenção antes de causar o efeito. Escrita dupla, outbox e relay com SQL testado, conciliação, CDC, event sourcing e 2PC.
Chave de idempotência — como impedir a cobrança duplicada no retry
Por que consultar antes de gravar não impede que um retry cobre o cliente duas vezes, e como resolver com chave de idempotência, restrição única e resposta guardada. Com SQL testado no PostgreSQL.
Arquitetura de ledger — partidas dobradas, saldos e conciliação
O que 12 artigos ensinam sobre ledgers de grau financeiro: registro append-only, double-entry garantido pelo banco, saldos materializados, idempotência e conciliação como entregável de engenharia — com exemplos em Java.
SNS MessageAttributes e Filter Policy — filtrando mensagens antes do SQS
Como fazer o SNS entregar a cada fila SQS só as mensagens que interessam: atributos de mensagem, filter policy na assinatura, filtro por atributo ou pelo corpo, operadores, limites e cuidados.
Overhead vs overkill — o custo de toda escolha e o exagero dela
Overhead é o custo extra que toda decisão técnica cobra; overkill é a solução desproporcional ao problema. As seis dimensões do overhead e um critério prático para reconhecer overengineering.
CronJob ou endpoint + fila — onde rodar o batch de uma API Spring Boot no Kubernetes
Uma API Spring Boot no Kubernetes precisa de uma rotina agendada: CronJob com a mesma imagem e o perfil
batch, ou endpoint que enfileira no SQS para a própria API consumir? Onze critérios comparados.Efeito externo sem registro local — a cobrança passou e o banco não gravou
A captura no adquirente passa e a gravação no seu banco falha: grave a intenção antes de causar o efeito. Escrita dupla, outbox e relay com SQL testado, conciliação, CDC, event sourcing e 2PC.
Chave de idempotência — como impedir a cobrança duplicada no retry
Por que consultar antes de gravar não impede que um retry cobre o cliente duas vezes, e como resolver com chave de idempotência, restrição única e resposta guardada. Com SQL testado no PostgreSQL.
Arquitetura de ledger — partidas dobradas, saldos e conciliação
O que 12 artigos ensinam sobre ledgers de grau financeiro: registro append-only, double-entry garantido pelo banco, saldos materializados, idempotência e conciliação como entregável de engenharia — com exemplos em Java.
SNS MessageAttributes e Filter Policy — filtrando mensagens antes do SQS
Como fazer o SNS entregar a cada fila SQS só as mensagens que interessam: atributos de mensagem, filter policy na assinatura, filtro por atributo ou pelo corpo, operadores, limites e cuidados.
Overhead vs overkill — o custo de toda escolha e o exagero dela
Overhead é o custo extra que toda decisão técnica cobra; overkill é a solução desproporcional ao problema. As seis dimensões do overhead e um critério prático para reconhecer overengineering.