Polly — résilience (retry, circuit breaker, timeout)
IntermédiairePolly ajoute de la tolérance aux pannes pour les appels réseau instables (API externes, bases de données).
dotnet add package Microsoft.Extensions.Http.Resilience
// Intégré à HttpClientFactory : retries + circuit breaker + timeout en une ligne
builder.Services.AddHttpClient<MonApiClient>()
.AddStandardResilienceHandler();
// Usage manuel de Polly pour un scénario personnalisé
var pipeline = new ResiliencePipelineBuilder()
.AddRetry(new RetryStrategyOptions
{
MaxRetryAttempts = 3,
Delay = TimeSpan.FromSeconds(1),
BackoffType = DelayBackoffType.Exponential,
})
.Build();
await pipeline.ExecuteAsync(async ct =>
{
await httpClient.GetAsync("https://api.externe.com/data", ct);
});