Поделиться через


Реализация повторных попыток с экспоненциальной выдержкой

Совет

Это содержимое является фрагментом из электронной книги, архитектуры микрослужб .NET для контейнерных приложений .NET, доступных в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно читать в автономном режиме.

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

Повторные попытки с экспоненциальной задержкой — это метод, который пытается повторить операцию с экспоненциально растущим временем ожидания, пока не будет достигнуто максимальное число повторных попыток (экспоненциальная задержка). Этот метод учитывает тот факт, что облачные ресурсы могут быть периодически недоступны в течение нескольких секунд по различным причинам. Например, оркестратор может перемещать контейнер на другой узел в кластере для балансировки нагрузки. В течение этого времени некоторые запросы могут завершиться с ошибкой. Другой пример — база данных, например база данных SQL Azure. В этом случае база данных может перемещаться на другой сервер для балансировки нагрузки. Во время этого перемещения она может быть недоступна в течение нескольких секунд.

Существует множество подходов для реализации логики повторных попыток с экспоненциальной выдержкой.