.NET Core 3.1 + Polly: Tratamento de Falhas, Chaos Engineering - exemplos de implementação

Renato Groffe
2 min readFeb 2, 2020

--

Recentemente (Janeiro/2020) realizei uma apresentação sobre a biblioteca Polly como alternativa para a construção de aplicações .NET resilientes:

  • Um dos grandes benefícios do uso de Polly está justamente na obtenção de um tratamento de falhas mais efetivo e conciso, uma vez que ao definirmos Policies baseadas em patterns como Retry, Timeout e Circuit Breaker conseguimos evitar a codificação de extensos trechos de código (dispensando numerosos blocos try-catch e loops);
  • Outra iniciativa extremamente interessante e útil do time responsável pelo projeto Polly é a biblioteca Simmy, voltada à simulação de situações de caos. A disciplina conhecida como Chaos Engineering é um tópico de grande importância na implementação de sistemas distribuídos e arquiteturas baseadas em Microsserviços, provendo técnicas e conceitos úteis para a obtenção de soluções resilientes.

Deixo aqui neste post os slides utilizados durante a palestra:

Assim como o link no GitHub dos projetos que apresentei:

ASP.NET Core 3.1 + JWT (JSON Web Token) + Identity Core + Entity Framework Core InMemory + Redis + Refresh Tokens

.NET Core 3.1 + Console Application + Polly + JWT + HttpClient

.NET Core 3.1 + Console Application + Polly + JWT + Refit

ASP.NET Core 3.1 + Razor Pages + Polly + HttpClient

ASP.NET Core 3.1 + Razor Pages + Polly + Simmy + HttpClient

.NET Core 3.1 + Worker Service + Polly + Simmy + HttpClient

Já abordei também o uso de Polly em detalhes nos seguintes artigos:

Polly: resiliência e maior estabilidade em aplicações .NET

Aplicações .NET mais estáveis com Polly, Health Checks e Application Insights

ASP.NET Core 3.0 + Polly: simplificando o tratamento de falhas em projetos Web

.NET Core + Polly + JWT: tratando de forma resiliente a expiração de tokens

.NET Core + JWT + Polly + Refit: consumindo APIs seguras com simplicidade e resiliência

Implementações empregando Polly também foram tema de uma live do Canal .NET:

Aproveito este espaço para deixar aqui também um convite. Nos meses de Fevereiro e Março/2020 acontecerá o Azure Tech Nights, evento online e gratuito promovido pelo Canal .NET com foco em tecnologias e serviços que integram a nuvem Microsoft.

Para participar do primeiro dia de apresentações (11/02/2020, terça-feira às 21:00 - horário de Brasília) acesse este link e faça sua inscrição pelo Meetup, a transmissão será via YouTube e serão abordados temas/tecnologias como Microservices, Desenvolvimento Serverless, Azure Functions e Azure Web Apps + Linux.

--

--

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker