피드로 돌아가기
Exponential backoff with jitter stopped our CI retry storms
Dev.toDev.to
Infrastructure

Full Jitter와 Retry Budget 도입으로 서비스 복구 시간 6분에서 40초로 단축

Exponential backoff with jitter stopped our CI retry storms

claire nguyen2026년 6월 25일5intermediate

Context

Fixed-interval retry 구조로 인해 다수의 CI Agent가 동일 시점에 요청을 집중시키는 Retry Storm 발생. 서비스 일시 장애 시 복구 직후 동기화된 트래픽 파동이 다시 시스템을 마비시키는 cascading failure 구조의 한계 노출.

Technical Solution

  • 요청 간 상관관계를 제거하여 트래픽 분산을 유도하는 Full Jitter 알고리즘 적용
  • 요청 횟수를 제한하기 위해 Sliding Window 기반의 Retry Budget(최대 20%) 도입
  • 연속 실패 시 네트워크 요청을 즉시 차단하여 서버의 최소 복구 시간을 보장하는 Circuit Breaker 설계
  • 단일 요청의 결정성보다 시스템 전체의 안정성을 우선한 Full Jitter 방식 채택
  • 서비스 가용성 저하를 방지하기 위한 Game-day 테스트 기반의 임계치 튜닝 수행

1. 단순 Exponential Backoff 대신 Full Jitter를 적용하여 요청 시점을 완전히 무작위화했는가?

2. Retry-to-Request 비율을 제한하는 Retry Budget을 설정하여 총 트래픽 상한선을 정의했는가?

3. Circuit Breaker의 임계치를 실제 장애 상황을 가정한 Game-day 테스트로 검증했는가?

원문 읽기