Executando verificação de segurança...
1

Se for para estudo, acho que está ok criar uma arquitetura de microservices, mas caso esteja pensando em um produto real, eu não faria dessa forma no dia 0.

Pensando em desempenho e custo, eu escolheria Go para o backend, porque é compilado para um binário nativo e muito performatico, o que fará uma grande diferença no uso de CPU e memória nos seus servidores (o que vai reduzir seus custos para manter a solução no ar). Também, pensando em custo, não começaria o projeto no dia 0 com uma arquitetura de microservices. Um monólito bem escrito e modular trará muito menos dores de cabeça, especialmente quando você for usar ferramentas de monitoramento (Grafana, Prometheus ...).

E depois de um tempo, com o projeto já em produção, caso faça sentido, você pode separar alguma funcionalidade do projeto em um microserviço, o que normalmente ocorrerá quando você perceber a necessidade de escalar horizontalmente uma funcionalidade específica.

Carregando publicação patrocinada...
Conteúdo excluído
1

Sobre o primeiro ponto da arquitetura de microserviços, o que você disse não faz sentido. A arquitetura de microserviços neste caso não vai mudar em nada em casos de sobrecargas de requisições (HPA também funciona em monolitos). Claro que tem seus benefícios, poder escalar uma parte do seu código em alguns cenários faz sentido, mas pelo menos na minha opinião, o projeto que você descreveu ali não precisaria de uma arquitetura de microservices no dia 0.

Sobre o Go, a linguagem não é irrelevante. O que o Java vai fazer com 130Mb de RAM, o Go fará com 30-40Mb, mas se você acha que o custo da infraestrutura não vai importar, tudo bem. Não mencionei nada sobre tempo de compilação, então vou ignorar essa parte.

Sobre a infraestrutura, não é minha expertise, e provavelmente haverá alguém com mais know hall para dissertar sobre isso (alguem que trabalha especificamente como arquiteto de software lhe ajudaria muito mais), mas por experiência própria nas últimas empresas em que estive, o Kubernetes já dava conta de td.