속도 제한 이란
API 요청 빈도 제한
속도 제한은 특정 기간 내에 API 또는 서비스에 대한 요청 수를 제한하는 메커니즘입니다.
속도 제한이 중요한 이유
- 서버를 과부하로부터 보호
- DDoS 공격 방지
- 공정한 리소스 분배
- 인프라 비용 제어
- 모든 사용자에게 안정적인 서비스 보장
제한 유형
- 초당 요청 수(RPS) — 클래식 제한
- 분/시간당 요청 — 장기 제어
- 사용자별 — 개별 제한
- IP 주소별 — 봇 보호
- 가격 플랜별 — API 수익화
구현 알고리즘
- 토큰 버킷 — 버킷의 토큰
- 리키 버킷 — 누출 버킷 알고리즘
- 고정 윈도우 — 고정 시간 윈도우
- 슬라이딩 윈도우 — 슬라이딩 윈도우 방식
HTTP 헤더
- X-RateLimit-Limit — 최대 요청 수
- X-RateLimit-Remaining — 남은 요청 수
- X-RateLimit-Reset — 제한 재설정 시간
- Retry-After — 재시도 시점