- Published on
분당 100회로 막았는데 200회가 통과하는 것은 버그가 아니라 고정 윈도우 알고리즘의 정의된 동작입니다. 고정 윈도우, 슬라이딩 로그, 슬라이딩 윈도우 카운터, 토큰 버킷 네 가지의 메모리와 정확도 트레이드오프를 표로 비교하고 경계 문제를 숫자로 확인합니다. 분산 환경에서 레디스 원자적 연산이 왜 필요한지, 노드별 로컬 리밋이 만드는 오차가 얼마나 되는지, IP를 키로 삼으면 무엇이 깨지는지 정리했습니다. 429 응답과 Retry-After, RateLimit 헤더로 클라이언트에게 상태를 알려 주는 방법과, 지터 없는 지수 백오프가 썬더링 허드를 만드는 과정까지 다룹니다.