Implementowanie ponownych prób przy użyciu wycofywania wykładniczego

Napiwek

Ta zawartość jest fragmentem książki eBook, architektury mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET dostępnych na platformie .NET Docs lub jako bezpłatnego pliku PDF, który można odczytać w trybie offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Ponawianie prób z wycofywaniem wykładniczym jest techniką, która ponawia próbę operacji, z wykładniczo rosnącym czasem oczekiwania, do maksymalnej liczby ponownych prób została osiągnięta ( wycofywanie wykładnicze). Ta technika obejmuje fakt, że zasoby w chmurze mogą być sporadycznie niedostępne przez ponad kilka sekund z jakiegokolwiek powodu. Na przykład orkiestrator może przenosić kontener do innego węzła w klastrze na potrzeby równoważenia obciążenia. W tym czasie niektóre żądania mogą zakończyć się niepowodzeniem. Innym przykładem może być baza danych, na przykład Usługi SQL Azure, gdzie bazę danych można przenieść na inny serwer na potrzeby równoważenia obciążenia, co powoduje, że baza danych będzie niedostępna przez kilka sekund.

Istnieje wiele metod implementowania logiki ponawiania prób przy użyciu wycofywania wykładniczego.