ubin.sh

백오프 & 레이트 리밋

재시도 백오프 전략과 레이트리밋 알고리즘을 파라미터 기반 실시간 시각화로 비교합니다.

시도별 지연

고정합계 800ms
선형합계 3.6s
지수합계 25.5s
지수 + Full 지터합계 16.7s
지수 + Equal 지터합계 21.1s
Decorrelated 지터합계 13.8s

이 도구에 대해

백오프 모드는 6가지 전략의 시도별 지연을 나란히 그립니다 — 고정, 선형, 지수, 그리고 AWS 지터 변형(full, equal, decorrelated) — 각 전략이 재시도를 얼마나 분산시키고 총 대기시간이 얼마나 되는지 한눈에 볼 수 있습니다. 기본 지연, 배수, 상한, 시도 횟수를 조절하고 지터를 다시 뽑아 분포를 확인하세요.

레이트 리밋 모드는 토큰 버킷, 리키 버킷, 고정 윈도우, 슬라이딩 윈도우를 같은 트래픽에 시뮬레이션해, 각 요청을 허용/차단으로 타임라인에 표시합니다. 한도·윈도우·요청률·초기 버스트를 조절하면 알고리즘 간 차이가 정확히 어디서 갈리는지 보입니다.

자주 묻는 질문

지수 백오프에 왜 지터를 더하나요?+

지터가 없으면 같은 순간 실패한 클라이언트들이 같은 순간 재시도해 서버를 다시 폭주시킵니다(thundering herd). 지터는 지연을 무작위화해 재시도를 분산시킵니다. AWS가 full 또는 decorrelated 지터를 권장하는 이유죠.

full 지터와 equal 지터의 차이는?+

full 지터는 [0, exp] 균등 분포에서 지연을 뽑아 분산이 최대지만 가끔 너무 빨리 재시도합니다. equal 지터는 지수 지연의 절반을 고정하고 나머지 절반만 무작위화해, 분산을 조금 줄이는 대신 최소 대기를 보장합니다.

토큰 버킷 vs 리키 버킷, 뭘 써야 하나요?+

토큰 버킷은 용량까지 버스트를 허용한 뒤 리필 속도로 안정화됩니다 — 스파이크를 견디는 API에 적합. 리키 버킷은 버스트와 무관하게 매끄러운 일정 출력률을 강제합니다 — 다운스트림에 스파이크가 가면 안 될 때 적합.

고정 윈도우는 왜 두 배 버스트를 허용하나요?+

고정 윈도우는 경계에서 카운터를 리셋하므로, 클라이언트가 리셋 직전에 한도만큼, 직후에 또 한도만큼 보내 경계를 넘나들며 최대 2배까지 통과할 수 있습니다. 슬라이딩 윈도우는 이동 구간으로 세어 이를 방지합니다.

지터는 실제로 무작위인가요?+

다른 파라미터를 조절하는 동안 차트가 흔들리지 않도록 시드 기반 PRNG를 씁니다. "지터 다시 뽑기"는 시드를 바꿔 다른 표본을 보여줍니다. 실제 클라이언트는 진짜 난수원을 써야 합니다.

관련 도구