Как настроить retry стратегию с exponential backoff?

Middle
235 просмотров
AFK Offer AI

В Resilience4j: intervalFunction = IntervalFunction.ofExponentialBackoff(500, 2.0) — начинает с 500мс, каждый раз удваивает. Плюс jitter (randomization) чтобы не все инстансы ретраили синхронно. В Spring Retry: @Retryable(maxAttempts=3, backoff=@Backoff(delay=500, multiplier=2, random=true)). Важно: не ретраить non-idempotent операции без idempotency key, не ретраить 4xx ошибки — это ошибки клиента, не сервера.

Следующий вопрос

Как спроектировать API — contract-first vs code-first?