Introdução

Concluído

Imagine que você é um desenvolvedor de software para um varejista on-line chamado eShop. O varejista usa uma arquitetura baseada em microsserviços nativa da nuvem e usa o .NET para sua vitrine online. A solução inclui uma API NET conhecida como o serviço do produto. O serviço da loja faz chamadas para a 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 para lidar com problemas. A resiliência ajuda a tornar seu aplicativo tolerante a falhas de uma forma que tenha o menor impacto possível no usuário. São exploradas as seguintes abordagens em matéria de resiliência:

  • Utilizar uma abordagem baseada no código
  • Utilizar uma abordagem baseada na infraestrutura

Irá modificar a aplicação para incluir políticas de processamento de resiliência baseadas no código num microsserviço. Também irá reconfigurar a sua implementação do Azure Kubernetes Service (AKS) de modo a implementar uma solução baseada na infraestrutura.

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

Importante

Para evitar cobranças desnecessárias em sua assinatura do Azure, exclua seus recursos do Azure quando terminar este módulo.

Contentor de desenvolvimento

Este 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 que é 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 código necessárias do Visual Studio.

Objetivos de aprendizagem

Neste módulo, irá:

  • Compreender os conceitos fundamentais da resiliência.
  • Observe o comportamento de um microsserviço que não tem estratégia de resiliência.
  • Implementar código de processamento de falhas para pedidos HTTP num microsserviço.
  • Implementar uma solução de resiliência baseada na infraestrutura num cluster do AKS.

Pré-requisitos

  • Familiaridade com desenvolvimento em C# e .NET no nível iniciante.
  • Familiaridade com os conceitos de serviço RESTful.
  • Conhecimento conceptual de contentores e AKS a nível intermédio.
  • Capacidade de executar contêineres de desenvolvimento, GitHub Codespaces ou no Visual Studio Code.