2026-01-21//RANT
Seus 'Microservicos' Sao So Um Monolito Distribuido
Preciso falar isso porque aparentemente ninguem mais vai falar. Se todos os seus servicos deployam juntos, compartilham banco e nao funcionam de forma independente, parabens. Voce construiu um monolito com latencia de rede. Voce piorou tudo e chamou de arquitetura. Genio.
Ja vi esse padrao tantas vezes que me da dor fisica. Alguem le o capitulo de microservicos de um livro de arquitetura, fica empolgadao, e gasta seis meses quebrando um monolito que funcionava perfeitamente em 14 servicos que se chamam sincronamente via HTTP. Nada consegue tratar uma request sem chamar outros tres servicos primeiro. Um banco unico embaixo de todos eles. E todos deployam junto porque se voce sobe um sem os outros, explode tudo.
Isso NAO EH microservico. Isso eh monolito com passos extras e uma conta da AWS mais cara.
O PONTO INTEIRO de microservico eh deploy independente. Servico A consegue shipar feature nova sem coordenar com Servico B. Se voce nao consegue fazer isso, voce NAO TEM microservico. Voce tem sistema distribuido com todas as desvantagens e nenhuma das vantagens. Parabens, voce complicou tudo de graca.
Banco compartilhado? Monolito. Seus servicos tao acoplados na camada de dados. Muda o nome de uma coluna e assiste cinco servicos explodirem.
Chamada HTTP sincrona pra toda operacao? Monolito. Um servico cai e de repente o sistema inteiro retorna 500. Voce adicionou fronteira de rede no que costumava ser chamada de funcao. Brilhante. Genial.
Deploy coordenado? Monolito. O cronograma de deploy EH o acoplamento. Voce so ta fazendo com Kubernetes em vez de um JAR so.
Microservico de verdade funciona assim: cada servico eh dono dos seus dados. Comunicacao eh primariamente assincrona (evento, fila de mensagem). Qualquer servico pode ser deployado independentemente sem quebrar mais nada. Cada servico pode ser desenvolvido por um time que nao precisa coordenar diariamente com outro time.
Se isso nao descreve seu sistema, voce nao tem microservico. E TUDO BEM. Monolito bem estruturado eh arquitetura perfeitamente valida. Mais simples de desenvolver, mais simples de deployar, mais simples de debugar. Nao tem vergonha nenhuma nisso.
Para de copiar arquitetura da Netflix. Voce nao eh a Netflix. Voce nao tem os problemas da Netflix. Sobe o monolito. Faz dinheiro. Refatora depois SE realmente precisar escalar de forma independente.