Conceber uma arquitetura de microsserviços
Os microsserviços tornaram-se um estilo de arquitetura popular para a criação de aplicativos em nuvem que são resilientes, altamente escaláveis, implantáveis de forma independente e capazes de evoluir rapidamente. Para ser mais do que apenas uma palavra da moda, no entanto, os microsserviços exigem uma abordagem diferente para projetar e criar aplicativos.
Neste conjunto de artigos, exploramos como criar uma arquitetura de microsserviços no Azure. Os tópicos incluem:
- Opções de computação para microsserviços
- Comunicação interserviços
- Design de API
- Gateways de API
- Considerações sobre dados
- Padrões de design
Pré-requisitos
Antes de ler estes artigos, você pode começar com o seguinte:
- Introdução às arquiteturas de microsserviços. Entenda os benefícios e desafios dos microsserviços e quando usar esse estilo de arquitetura.
- Usando análise de domínio para modelar microsserviços. Aprenda uma abordagem orientada por domínio para modelar microsserviços.
Aplicação de referência
Para ilustrar as melhores práticas para uma arquitetura de microsserviços, criamos uma implementação de referência que chamamos de aplicativo Drone Delivery. Essa implementação é executada no Kubernetes usando o Serviço Kubernetes do Azure (AKS). Você pode encontrar a implementação de referência no GitHub.
Baixe um arquivo Visio desta arquitetura.
Cenário
está iniciando um serviço de entrega por drones. A empresa gere uma frota de aviões drones. As empresas registam-se no serviço e os utilizadores podem solicitar um drone para recolher as mercadorias para entrega. Quando um cliente agenda uma recolha, um sistema de back-end atribui um drone e notifica o utilizador do tempo de entrega estimado (ETA). Enquanto a entrega está em andamento, o cliente pode rastrear a localização do drone, com uma ETA continuamente atualizada.
Esta solução é ideal para as indústrias aeroespacial e aeronáutica.
Este cenário envolve um domínio bastante complicado. Algumas das preocupações comerciais incluem agendamento de drones, rastreamento de pacotes, gerenciamento de contas de usuários e armazenamento e análise de dados históricos. Além disso, a Fabrikam quer chegar ao mercado rapidamente e, em seguida, iterar rapidamente, adicionando novas funcionalidades e recursos. 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. Todas essas considerações levam a Fabrikam a escolher uma arquitetura de microsserviços para o aplicativo Drone Delivery.
Observação
Para obter ajuda na escolha entre uma arquitetura de microsserviços e outros estilos de arquitetura, consulte o Guia de Arquitetura de Aplicativo do Azure.
Nossa implementação de referência usa o Kubernetes com o Serviço Kubernetes do Azure (AKS). No entanto, muitas das decisões e desafios de arquitetura de alto nível se aplicarão a qualquer orquestrador de contêineres.