사용량 제한 (Rate Limit)
개요
사용량 제한(Rate Limit)은 특정 시간 내에 호출할 수 있는 API 요청 수를 제한하는 보안 메커니즘입니다.
기본 제한 정책
SOLAPI API는 Resource Path별로 다음과 같은 호출 제한을 적용합니다:
인증 상태 | API 유형 | 제한 | 기간 |
---|---|---|---|
인증 완료 | 조회 API | 20회 | 5초 |
인증 완료 | 발송 API | 100회 | 5초 |
인증 없음 | 모든 API | 5회 | 5초 |
노트
인증된 요청은 인증 가이드를 참고하세요.
Response Header 정보
API 요청 시 다음과 같은 Rate Limit 정보가 Response Header에 포함됩니다:
x-ratelimit-limit: 3;w=4.554;b=5
x-ratelimit-remaining: 3
x-ratelimit-reset: Mon Jul 24 2023 03:21:17 GMT+0000 (Coordinated Universal Time)
x-retry-after: 4.554
Header 필드 설명
필드 | 설명 | 예시 값 |
---|---|---|
x-ratelimit-limit | 남은 요청 수;남은 시간;정해진 호출제한 시간 | 3;w=4.554;b=5 |
x-ratelimit-remaining | 현재 남은 요청 수 | 3 |
x-ratelimit-reset | 호출제한이 초기화되는 시간 | Mon Jul 24 2023 03:21:17 GMT+0000 |
x-retry-after | 제한 초기화까지 남은 시간(초) | 4.554 |
제한 초과 시 응답
호출 수가 제한값을 초과하면 다음과 같은 오류가 반환됩니다:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{
"errorCode": "TooManyRequests",
"message": "잦은 호출로 제한되었습니다."
}
제한 상향 요청
기본 제한으로 부족한 경우, 관리자에게 계정 단위 호출제한 상향을 요청할 수 있습니다
권장 사항
- 요청 간격 조정: Rate Limit에 걸리지 않도록 적절한 간격으로 API를 호출하세요
- 배치 처리: 가능한 경우 여러 요청을 배치로 처리하여 호출 수를 줄이세요
- 캐싱 활용: 자주 조회하는 데이터는 캐싱을 통해 API 호출을 최소화하세요