피드로 돌아가기
Retry isn't free: budget, amplification, and the cost that never shows up in p95
Dev.toDev.to
Backend

Retry Amplification Factor 2.96배 증가로 인한 Retry Storm 위험 분석

Retry isn't free: budget, amplification, and the cost that never shows up in p95

Juan Torchia2026년 5월 15일7advanced

Context

Retry 전략을 단순한 가용성 확보 수단으로 오인하여 발생하는 시스템 부하 가중 문제 분석. 특히 p95 지표가 Caller Timeout으로 인해 실제 Downstream 지연 시간을 은폐함으로써 장애 판단을 왜곡하는 한계점 식별.

Technical Solution

  • 단순 Success Rate 측정에서 벗어나 Downstream 호출 수 대비 요청 수의 비율인 Retry Amplification Factor 지표 도입
  • Progressive Degradation 시나리오 설계를 통한 호출 횟수 증가가 시스템 지연 시간을 가속화하는 상관관계 검증
  • future.cancel(true)를 활용한 Timeout 구현으로 Caller 측 대기 시간 제어 및 실제 Downstream 잔류 작업 가능성 분석
  • Resilience4j 기반의 다양한 Retry Policy를 적용하여 Transient Failure와 Load-sensitive Degradation 상황의 동작 차이 대조
  • Circuit Breaker 및 Bulkhead 도입을 통한 명시적 거절(Rejection)로 시스템 보호 기전의 필요성 확인

1. Retry 도입 시 단순 성공률 외에 Retry Amplification Factor를 핵심 지표로 모니터링하는가?

2. Timeout 설정 시 p95/p99 지표가 실제 Downstream Latency가 아닌 Caller Timeout 값으로 수렴하고 있지는 않은가?

3. Downstream 서비스가 부하에 따라 지연 시간이 증가하는 구조일 때, Retry 전략이 오히려 장애를 가속화하지 않는가?

4. 무조건적인 Retry 대신 Circuit Breaker를 통한 Fail-fast 전략이 더 적합한 상황인지 검토했는가?

원문 읽기