Я использую сочетание Spring-Cloud + feign + spring-retry, чтобы помочь повторить запросы на стороне клиента (все это серверные части на основе Kotlin).
Моя конфигурация с весенней загрузкой выглядит так:
myApp:
ribbon:
OkToRetryOnAllOperations: true
retryableStatusCodes: 404, 503
(примечание: OkToRetryOnAllOperations=true присутствует только для повторения запросов POST/PUT)
Повторная попытка HTTP-кодов 404 и 503 звучит хорошо, но я не могу понять, есть ли «классический» или «по умолчанию» список кодов ошибок для повторной попытки. Существует ли такая хорошая практика?
Мы предполагаем, что все запросы являются идемпотентными на стороне сервера (в противном случае повторная попытка может вызвать проблемы).