Rate Limiting이란?

사용자·IP·API 키 단위로 일정 시간당 요청 수를 제한하는 기법이다. 악의적 트래픽 방어, 공정한 자원 분배, 비용 통제가 목적이다.

알고리즘 4종

  • Fixed Window — 쉬움, 경계에서 2배 버스트 문제
  • Sliding Window — 정확도 높음
  • Token Bucket — 버스트 허용, 실무 가장 보편
  • Leaky Bucket — 출력 평활화

구현

Redis + Lua script로 원자적 구현이 표준. 응답에 X-RateLimit-* 헤더 포함 권장.