Condividi tramite


Implementare nuovi tentativi con backoff esponenziale

Suggerimento

Questo contenuto è un estratto dell'eBook, Architettura di microservizi .NET per applicazioni .NET containerizzati, disponibile in documentazione .NET o come PDF scaricabile gratuitamente leggibile offline.

Architettura di Microservizi .NET per Applicazioni .NET Containerizzate miniatura della copertina dell'eBook.

I tentativi con backoff esponenziale sono una tecnica che ritenta un'operazione, con un tempo di attesa in aumento esponenziale, fino a un numero massimo di tentativi raggiunto (il backoff esponenziale). Questa tecnica abbraccia il fatto che le risorse cloud potrebbero non essere disponibili in modo intermittente per più di pochi secondi per qualsiasi motivo. Ad esempio, un agente di orchestrazione potrebbe spostare un contenitore in un altro nodo in un cluster per il bilanciamento del carico. Durante tale periodo, alcune richieste potrebbero non riuscire. Un altro esempio potrebbe essere un database come SQL Azure, in cui un database può essere spostato in un altro server per il bilanciamento del carico, causando l'indisponibilità del database per alcuni secondi.

Esistono molti approcci per implementare la logica di ripetizione dei tentativi con ritardo esponenziale.