A arquitetura de microsserviços (geralmente chamada simplesmente de microsserviços) refere-se a um estilo de arquitetura para o desenvolvimento de aplicativos. Os microsserviços permitem que um aplicativo grande seja separado em partes independentes menores, com cada parte tendo sua própria responsabilidade. Para atender a uma única solicitação do usuário, um aplicativo baseado em microsserviços pode chamar muitos microsserviços internos para compor a resposta.
Contêineres são um exemplo de arquitetura de microsserviços bem organizada e permitem que você se concentre no desenvolvimento dos serviços sem se preocupar com as dependências. A computação sem servidor é outra abordagem comum, que permite que as equipes executem microsserviços sem gerenciar servidores ou infraestrutura, escalando automaticamente as funções em resposta à demanda.
Saiba como o Google Kubernetes Engine (GKE) e o Cloud Run podem ajudar você a criar aplicativos baseados em microsserviços usando contêineres.
Tudo pronto para começar? Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Uma arquitetura de microsserviços é um tipo de arquitetura em que o aplicativo é desenvolvido como uma coleção de serviços. Ela fornece a estrutura para desenvolver, implantar e manter diagramas e serviços de arquitetura de microsserviços de maneira independente.
Em uma arquitetura de microsserviços, cada microsserviço é um serviço único criado para acomodar um recurso do aplicativo e processar tarefas distintas. Cada microsserviço se comunica com outros serviços por meio de interfaces simples para resolver problemas comerciais.
Os aplicativos monolíticos tradicionais são criados como uma unidade única e unificada. Todos os componentes estão acoplados de forma rígida, compartilhando recursos e dados. Isso pode gerar desafios na escalabilidade, implantação e manutenção do aplicativo, especialmente à medida que ele se torna mais complexo. Em contraste, a arquitetura de microsserviços decompõe um aplicativo em um pacote de serviços pequenos e independentes. Cada microsserviço é independente, com código, dados e dependências próprios. Essa abordagem oferece várias vantagens em potencial:
Para aplicativos que ainda não são grandes ou complexos o suficiente para justificar uma arquitetura de microsserviços totalmente distribuída, o "monólito modular" é uma opção poderosa. Essa abordagem mantém uma única unidade de implantação do aplicativo (um monólito), mas separa estritamente a base de código do aplicativo em módulos internos altamente coesos e com acoplamento flexível com base na área dos negócios. Isso oferece os benefícios organizacionais dos microsserviços (limites claros, desenvolvimento independente) sem toda a sobrecarga do gerenciamento de um sistema distribuído.
Muitas organizações de vários setores adotaram a arquitetura de microsserviços para enfrentar desafios específicos dos negócios e impulsionar a inovação. Veja alguns exemplos:
Normalmente, os microsserviços são usados para acelerar o desenvolvimento de aplicativos. Arquiteturas de microsserviços criadas usando Java são comuns, especialmente as do Spring Boot. Também é comum comparar microsserviços com a arquitetura orientada a serviços. Ambos têm o mesmo objetivo, que é dividir aplicativos monolíticos em componentes menores, mas usam abordagens diferentes. Veja alguns exemplos de arquitetura de microsserviços:
Migração de sites
É possível migrar um site complexo hospedado em uma plataforma monolítica para uma plataforma de microsserviços baseada na nuvem e em contêineres.
Conteúdo de mídia
Usando a arquitetura de microsserviços, os recursos de imagem e vídeo podem ser armazenados em um sistema de armazenamento de objetos escalável e exibidos diretamente na Web ou em dispositivos móveis.
Transações e faturas
O processamento e a ordem de pagamentos podem ser separados como unidades de serviço independentes. Dessa forma, os pagamentos continuarão sendo aceitos se o faturamento não estiver funcionando.
Processamento de dados
Uma plataforma de microsserviços pode estender o suporte à nuvem para serviços de processamento de dados modulares existentes.
Para gerenciar a complexidade e otimizar o desempenho de sistemas distribuídos, os arquitetos hoje em dia contam com vários padrões básicos de design.
Malha de serviço
Arquitetura orientada a eventos (EDA)
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos sem gastar nada.