Sobes.tech
Junior

O que são microserviços?

sobes.tech IA

Resposta da IA

Os microserviços são um estilo arquitetónico em que a aplicação é construída como um conjunto de pequenos serviços autónomos, cada um dos quais realiza uma função empresarial específica.

Características principais:

  • Pequenos e focados: Cada serviço resolve uma tarefa específica.
  • Autónomos: Podem ser desenvolvidos, implantados e escalados de forma independente.
  • Gestão descentralizada de dados: Cada serviço pode ter a sua própria base de dados.
  • Interação entre serviços: Geralmente através de protocolos leves (por exemplo, REST, gRPC).
  • Resiliência a falhas: A falha de um serviço não necessariamente provoca a queda de toda a aplicação.
  • Heterogeneidade tecnológica: Os diferentes serviços podem usar diferentes linguagens de programação e tecnologias.

Vantagens:

  • Desenvolvimento e implantação acelerados.
  • Melhor escalabilidade de componentes individuais.
  • Maior resiliência.
  • Implementação mais fácil de novas tecnologias.

Desvantagens:

  • Maior complexidade do sistema em geral.
  • Necessidade de gerir transações distribuídas.
  • Dificuldades em monitorização e depuração.
  • Requer uma cultura DevOps mais madura.

Comparação com monólitos:

Característica Microserviços Monolito
Tamanho Pequenos e focados Uma grande aplicação
Desdobramento Desdobramento independente de serviços Desdobramento de toda a aplicação
Escalabilidade Escalamento de serviços individuais Escalamento de toda a aplicação
Resiliência Alta (falha de um serviço não é crítica) Baixa (falha de um componente afeta tudo)
Tecnologias Possibilidade de usar diferentes stacks Stack tecnológico único
Equipa de desenvolvimento Pequenas equipas autónomas Uma grande equipa
Complexidade Alta (interação entre serviços) Baixa (para aplicações simples)
Gestão de dados Descentralizada Centralizada