Introdução

Concluído

Imagine que você seja desenvolvedor de software de um varejista online chamado eShop. O varejista usa uma arquitetura baseada em microsserviços nativa da nuvem e, para a própria vitrine online, usa o .NET. A solução inclui uma API NET conhecida como o serviço do produto. O serviço de loja faz chamadas à API de produtos de back-end para obter detalhes dos produtos à venda.

Este módulo se concentra na resiliência, que é a capacidade de um aplicativo ou serviço de lidar com problemas. O foco da resiliência é tornar seu aplicativo tolerante a falhas de uma forma que tenha o menor impacto possível sobre o usuário. As seguintes abordagens de resiliência são exploradas:

  • Usar uma abordagem baseada em código
  • Usar uma abordagem baseada em infraestrutura

Você modificará o aplicativo de modo a incluir algumas políticas de tratamento de resiliência baseada em código em um microsserviço. Além disso, você vai reconfigurar a implantação do AKS (Serviço de Kubernetes do Azure) para implementar uma solução baseada em infraestrutura.

Você usa sua assinatura do Azure para implantar os recursos deste módulo. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Importante

Para evitar encargos desnecessários em sua assinatura do Azure, exclua os recursos do Azure quando terminar este módulo.

Contêiner de desenvolvimento

Esse módulo inclui arquivos de configuração que definem um contêiner de desenvolvimento ou contêiner de desenvolvimento. O uso de um contêiner de desenvolvimento garante um ambiente padronizado pré-configurado com as ferramentas necessárias.

O contêiner de desenvolvimento pode ser executado em qualquer um dos dois ambientes. Antes de começar, siga as etapas em um dos links a seguir para configurar seu ambiente, incluindo a instalação do Docker e as extensões de Visual Studio Code necessárias.

Objetivos de aprendizagem

Neste módulo, você vai:

  • Entender os conceitos básicos da resiliência.
  • Observar o comportamento de um microsserviço sem estratégia de resiliência.
  • Implementar código de tratamento de falhas para solicitações HTTP em um microsserviço.
  • Implantar uma solução de resiliência baseada em infraestrutura para um cluster do AKS.

Pré-requisitos

  • Familiaridade com o desenvolvimento em C# e .NET no nível de iniciante.
  • Familiaridade com os conceitos do serviço RESTful.
  • Conhecimento conceitual sobre contêineres e AKS no nível intermediário.
  • Capacidade de executar contêineres de desenvolvimento no GitHub Codespaces ou no Visual Studio Code.