Arquitetura Corporativa para Todos

Artigo / Post

Serviços resiliente : Eficiência com pouco código em .NET 8 e .NET9

Quanto maior as dependências remotas em seus serviços , maiores são as probabilidades de falhas. Essas solicitações podem eventualmente falhar devido a problemas de rede ou outros fatores de comunicação.

Se não forem tratadas adequadamente, podem impactar a disponibilidade dos serviços , inclusive podendo gerar um efeito cascata em diversos serviços.

Construir aplicativos resiliente é um requisito fundamental para o desenvolvimento de serviços / domínios distribuídos.

As chamadas remotas a outros serviços normalmente dependem do protocolo HTTP para fazer tais solicitações.

Várias estratégias para resiliência sobre o protocolo http podem ser usadas para reforçar este conceito em seus serviços :

  • 👉 Definir timeout nas solicitações
  • 👉 Definir políticas de tentativas em falhas temporárias
  • 👉 Definir políticas de Circuit-breaker
  • 👉 Definir caminhos alternativos
  • 👉 Combinações das alternativas acima

🚀 Com o .NET 8 foi lançado dois novos pacotes que permitem estratégias de resiliência customizadas ao pipeline HTTP:

  • ▶ Microsoft.Extensions.Http.Resilience
  • ▶ Microsoft.Extensions.Resilience

Foi feito um grande trabalho para atender aos mais diversos cenários e necessidades fornecendo 3 pontos de extensibilidade (IHttpClientBuilder) para um pipeline de resiliência:

💡 AddStandardResilienceHandler : pipeline padrão adequado para a maioria dos cenários.

💡 AddStandardHedgingHandler : pipeline de cobertura padrão , que oferece suporte a solicitações para vários endpoints.

💡 AddResilienceHandler : permite a personalização de estratégias de resiliência.

Falar de resiliência em .NET, não se pode deixar de mencionar a biblioteca Polly . A Microsoft ajudou a desenvolver a nova versão Polly v8, então pode-se esperar integrações mais robusta e performáticas sentido.

❓ Você já está utilizando ou conhecia estes pacotes ?  Os exemplos certamente vão deixar suas aplicações habilitadas para cenários de resiliência com pouco esforço de código , fácil manutenção e continuidade de evolução

https://learn.microsoft.com/pt-br/dotnet/core/resilience/http-resilience?tabs=dotnet-cli/

https://devblogs.microsoft.com/dotnet/building-resilient-cloud-services-with-dotnet-8/


Tenham um excelente dia! Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável.

Compatilhe

0 0 votos
Avaliação Global
0 Comentários
Categorias

Sobre o Autor

Picture of Fernando Cerqueira

Fernando Cerqueira

Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável. Como arquiteto sênior, aproveito meus mais de 30 anos de experiência em arquitetura e desenvolvimento de software para projetar e implementar soluções baseadas em nuvem que ajudam os clientes a transformar seus negócios com tecnologia.

Outros Posts

Categorias

Responsabilidade X Escopo X Exception – Relações pouco exploradas.

Gerar ou não uma exception é um assunto bastante recorrente e muitas vezes gera muita polemica. Eu mesmo escrevi sobre este tema (links ao final). Vamos tentar agora abordar este tema sobre outro viés : Escolher lançar ou não uma exception baseado no conceito de responsabilidade e Escopo: ➡ Se

Adotar classes seladas em .NET por padrão é uma ótima escolha

Adotar classes seladas em .NET por padrão é uma ótima escolha. Saiba por que! Em .net todas as classes que são criadas por padrão (template), permitem herança. Esta opção padrão deixa mais flexível qualquer implementação por herança, mas sendo sincero, acredito não ser esta a melhor opção : Uma classe

ADRs em lote, e a regra da visibilidade

ADRs em lote, e a regra da visibilidade A confiança na IA não começa no modelo, começa no processo. Esta é a oitava parte de uma série sobre a metodologia que uso para continuar sendo, de fato, o responsável pelo que um agente de IA produz. Aqui, entro na segunda

Calibrando a intensidade ao risco real

Calibrando a intensidade ao risco real A confiança na IA não começa no modelo, começa no processo. Esta é a décima parte de uma série sobre a metodologia que uso para continuar sendo, de fato, o responsável pelo que um agente de IA produz. Aqui, respondo à pergunta que fica

Em uma jornada digital não deve existir “zona de conforto”

Iniciar uma jornada Digital requer propósito e engajamento de todos os participantes. É uma oportunidade única para olhar fora da caixa e reavaliar todos os aspectos de uma mudança como infraestrutura, segurança, softwares, ferramentas, cultura e processos.

Em uma jornada digital não deve existir “zona de conforto”. É preciso garantir

""CancellationToken” é um instrumento poderoso para otimizar o uso de recursos concorrentes, tornando sua aplicação muito mais eficiente , rápida, aproveita corretamente os recursos de Infraestrutura/Midllewares e com custos menores."

Fernando Cerqueira | Arquiteto Corporativo

Sua Reflexão

0
Adoraria saber sua opinião, comente.x