Arquitetura de microsserviços: lições de produção
Quebrar o monólito resolveu problemas de deploy e criou problemas de dado. Vale a pena — desde que você saiba qual dos dois você tem.
O ganho real de serviços separados não é escala, é autonomia de deploy. Se dois times não conseguem entregar sem combinar horário, separar o código não vai resolver: o acoplamento está no dado, não no repositório.
A fronteira é o dado
A pergunta certa não é “esse módulo é grande?”, é “quem é dono desta tabela?”. Serviço que precisa de join com o banco do vizinho não é serviço, é monólito distribuído com latência de rede.