Rate-Limit 종류 및 구현 방법
· 약 8분
Rate Limit이란
Rate Limit에 대한 설명
Rate Limit은 클라이언트가 일정 시간 동안 수행할 수 있는 요청 수를 제한하는 기법입니다. API 서버, 웹 애플리케이션, 캐시 시스템 등에서 서버 자원 보호, 공정한 서비스 제공, 악의적 공격 방어(DDoS) 등의 목적으로 활용됩니다.
Rate Limit의 필요성
- 시스템 과부하 방지: 갑작스러운 요청 폭주로 인한 서버 다운을 예방
- 서비스 품질 유지: 공정한 자원 분배를 통해 전체 사용자에게 일관된 응답 품질 제공
- 비용 절감: 클라우드 환경에서는 호출량에 따른 과금이 발생하는 경우가 많아 제한이 필요
Client에서의 처리 방안
- 서버로부터
429 Too Many Requests응답을 받을 경우, 재시도 딜레이(backoff) 적용 - 헤더 정보(
Retry-After)를 활용한 재요청 시점 조정 - 클라이언트 측 로컬 캐시로 서버 요청 자체를 최소화
