Posts
Escrevendo Código Go Testável Sem Mockar Tudo
Implementações reais ao invés de mocks, test fixtures que funcionam, e design patterns que tornam código testável sem gerar arquivos mock para cada interface.
Profiling de Alocações de Memória em um Serviço Go de Alta Vazão
Como reduzimos pausas de GC de 50ms para 2ms encontrando alocações escondidas. Técnicas práticas de pprof, escape analysis e as otimizações que realmente importam.
Worker Pools e Concorrência Limitada em Go
Padrões práticos para controlar concorrência: worker pools, errgroup, semáforos, fan-out/fan-in e backpressure. Como processar trabalho concorrentemente sem sobrecarregar seu sistema.
Graceful Shutdown em Go É Mais Difícil Do Que Você Pensa
Lidando com requisições em andamento, consumidores Kafka, conexões de banco de dados e sinais de terminação do Kubernetes corretamente. Os detalhes que os tutoriais pulam.
Estratégias de Error Handling Além de if err != nil
Erros estruturados, wrapping de erros feito corretamente, sentinel errors vs verificação de comportamento, e padrões que tornam debug de produção realmente possível.
Injeção de Dependência em Go Sem Frameworks
DI manual, functional options, geração de código com Wire, e por que Go não precisa de containers estilo Spring. Padrões práticos para construir aplicações testáveis e manuteníveis.
Por Que Nosso Microserviço Precisou de um Circuit Breaker (E Como Construímos)
Cascatas de latência reais que encontramos, como derrubaram nosso sistema, e a implementação de circuit breaker que nos salvou.
Quando Ir para Sistemas Distribuídos
Um guia para decidir quando migrar de um monolito para arquitetura distribuída, e como fazer isso corretamente.
Padrões de Propagação de Context em Grandes Codebases Go
Quando passar context, quando não passar, e os erros comuns que levam a goroutines vazadas, cancelamentos perdidos e pesadelos de debug.
Estruturando um Monolito Go Para Que Possa Virar Microserviços Depois
Fronteiras de módulos práticas, organização de pacotes, e os padrões que tornam decomposição futura possível sem reescrever tudo.