Partilhar via


Conceber uma arquitetura de microsserviços

Os microsserviços são um estilo de arquitetura popular para a criação de aplicativos em nuvem que permanecem resilientes, dimensionam de forma eficiente, implantam de forma independente e evoluem rapidamente. Para oferecer valor real, os microsserviços exigem uma abordagem diferente para o design e o desenvolvimento de aplicativos.

Este conjunto de artigos explora como criar uma arquitetura de microsserviços no Azure. Inclui as seguintes orientações:

  • Opções de computação para microsserviços: avalie os serviços de computação do Azure para microsserviços, incluindo o Serviço Kubernetes do Azure (AKS), os Aplicativos de Contêiner do Azure e o Azure Functions. Saiba quando usar cada serviço com base em seus requisitos de escalabilidade, sobrecarga de gerenciamento e modelos de implantação.

  • Comunicação interserviços: Projete padrões de comunicação eficazes entre microsserviços usando abordagens síncronas e assíncronas. Saiba mais sobre APIs REST, padrões de mensagens, arquiteturas orientadas a eventos e tecnologias de malha de serviço para uma comunicação confiável entre serviços.

  • Design de API: crie APIs bem projetadas que suportem princípios de arquitetura de microsserviços. Aprenda estratégias de controle de versão de APIs, padrões de tratamento de erros e como projetar APIs que promovem acoplamento flexível e evolução de serviço independente.

  • Gateways de API: implemente gateways de API para gerenciar preocupações transversais, como autenticação, limitação de taxa e roteamento de solicitações. Entenda como os gateways simplificam as interações com os clientes e fornecem uma aplicação centralizada de políticas em todo o seu ecossistema de microsserviços.

  • Considerações sobre dados: enfrente os desafios de gerenciamento de dados em arquiteturas de microsserviços, incluindo padrões de consistência de dados, transações distribuídas e escolha de armazenamentos de dados apropriados. Aprenda estratégias para manter a integridade dos dados além dos limites do serviço.

  • Orquestração de contêineres: implante e gerencie microsserviços em contêineres em escala usando orquestradores de contêineres. Entenda como plataformas como o Kubernetes automatizam a implantação, o dimensionamento, o balanceamento de carga e o gerenciamento de integridade para manter o estado desejado do sistema em ambientes de produção.

  • Padrões de design: aplique padrões de projeto comprovados específicos para microsserviços, incluindo o padrão Ambassador para descarregar tarefas de conectividade, o padrão Bulkhead para isolamento de recursos e o padrão Strangler Fig para refatoração incremental de aplicativos.

Pré-requisitos

Antes de ler estes artigos, comece com os seguintes recursos:

Exemplo de arquitetura

Diagrama que mostra a arquitetura de uma carga de trabalho de entrega de drone.

Descarregue um ficheiro Visio desta arquitetura.

Scenario

A Fabrikam, Inc. cria um serviço de entrega de drones. A empresa gere uma frota de aviões drones. As empresas registam-se nos serviços e os utilizadores podem requisitar um drone que venha recolher os bens para entrega. Quando um cliente agenda uma recolha, um sistema de back-end atribui um drone e notifica o utilizador de um tempo de entrega estimado. Durante a entrega, o cliente pode rastrear a localização do drone, incluindo uma hora estimada de chegada (ETA) continuamente atualizada.

Esta solução funciona bem para as indústrias aeroespacial e aeronáutica.

Este cenário envolve um domínio bastante complicado. Algumas preocupações comerciais incluem agendamento de drones, rastreamento de pacotes, gerenciamento de contas de usuário e armazenamento e análise de dados históricos. A Fabrikam também quer lançar-se no mercado e, em seguida, iterar rapidamente para adicionar novas funcionalidades e capacidades. O aplicativo precisa operar em escala de nuvem com um objetivo de alto nível de serviço (SLO). A Fabrikam também espera que diferentes partes do sistema tenham requisitos muito diferentes para armazenamento e consulta de dados. Com base em considerações, a Fabrikam escolhe uma arquitetura de microsserviços para o aplicativo de entrega por drones.

Observação

Para obter mais informações sobre como escolher entre uma arquitetura de microsserviços e outros estilos de arquitetura, consulte o Guia de arquitetura do Aplicativo do Azure.

Esta arquitetura usa Kubernetes com AKS. Mas muitas das decisões e desafios arquitetônicos de alto nível se aplicam a qualquer orquestrador de contêineres.

Próximo passo