Сначала учитывайте Retry-After и контракт API; при отсутствии указания используйте ограниченный exponential backoff с jitter. У повторов должен быть общий deadline и конечное число попыток.
Как определять задержку перед повторным запросом после 429?
Сначала учитывайте Retry-After и контракт API; при отсутствии указания используйте ограниченный exponential backoff с jitter. У повторов должен быть общий deadline и конечное число попыток.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала учитывайте Retry-After и контракт API; при отсутствии указания используйте ограниченный exponential backoff с jitter. У повторов должен быть общий deadline и конечное число попыток.
Retry-After может задавать задержку в секундах или HTTP-дату; проверяйте формат и корректно обрабатывайте часы. Не повторяйте раньше указанного срока: если ожидание не помещается в бюджет, завершите операцию понятной ошибкой. Ограничивайте суммарную конкурентность, иначе множество клиентов синхронно усилит перегрузку. Повтор безопасен только с учётом семантики действия и идемпотентности.
Источник: www.rfc-editor.org.