Introdução
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 em de 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:
- Usando uma abordagem baseada em código
- Utilização de uma abordagem baseada na infraestrutura
Você modificará o aplicativo para incluir algumas políticas de manipulação de resiliência baseadas em código em um microsserviço. Você também reconfigurará sua implantação do Serviço Kubernetes do Azure (AKS) para implementar uma solução baseada em infraestrutura.
Você usa sua própria assinatura do Azure para implantar os recursos neste módulo. Se você não tiver uma assinatura 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.
- Visual Studio Code e um ambiente Docker suportado em sua máquina local.
- GitHub Codespaces (custos podem ser aplicados).
Objetivos de aprendizagem
Neste módulo, vai aprender:
- Compreender os conceitos fundamentais de resiliência.
- Observe o comportamento de um microsserviço que não tem estratégia de resiliência.
- Implemente o código de tratamento de falhas para solicitações HTTP em um microsserviço.
- Implante uma solução de resiliência baseada em infraestrutura em um cluster AKS.
Pré-requisitos
- Familiaridade com desenvolvimento em C# e .NET no nível iniciante.
- Familiaridade com os conceitos de serviço RESTful.
- Conhecimento concetual de contêineres e AKS a nível intermédio.
- Capacidade de executar contêineres de desenvolvimento, GitHub, Codespaces ou no Visual Studio Code.