본문 바로가기
Backend#Backend#Reliability#Network조회 2

Retry with Backoff란?지수 백오프 재시도

정의

요청 실패 시 재시도하되 간격을 점진적으로 늘리는 전략. Jitter를 추가해 썬더링 허드 방지.

다른 표현지수 백오프Exponential BackoffRetry

Retry with Backoff란?

일시적 장애(네트워크 지연, 503 등)는 재시도로 회복 가능하지만 즉시 재시도는 서버를 더 힘들게 한다. 간격을 점차 늘리는 게 정답.

공식

delay = base * (2 ^ attempt) + random_jitter
// 예: 1s, 2s, 4s, 8s, 16s ...

Jitter가 중요한 이유

수백 클라이언트가 동시에 실패하고 "정확히 2초 후" 일제히 재시도하면 서버가 또 죽는다 (Thundering Herd). 랜덤값을 섞어 분산시킴.

재시도하면 안 되는 에러

4xx 계열(400, 401, 403, 404). 422. 멱등하지 않은 POST 기본.

🔗 함께 보면 좋은 용어

Backend 전체 →