SaaS 제품 개발

SaaS API 속도 제한(Rate Limiting)이란?

작성자: Oleksandra Butenko, 카피라이터

검토자: Marta Dozorska, 제품 담당 부사장

SaaS API 호출 제한이란 무엇입니까?

SaaS API 속도 제한(Rate Limiting)이란?

클라우드 기반 애플리케이션의 SaaS API는 클라이언트 장치, 사용자, IP, 키 또는 테넌트의 서비스에 대한 API 호출 수를 특정 기간 동안 제한합니다. 클라이언트는 특정 수의 요청을 보내도록 구성됩니다. 이러한 유형의 API 제한은 사용자 액세스 제한을 지원하고 클라우드 지출 관리에도 도움이 되므로 서비스 인프라 용량에 영향을 미칩니다.

속도 제한 메커니즘 내에서, 서버가 요청 임계값을 초과한 클라이언트에게 ‘429 Too Many Requests’ 메시지를 전송할 때 이를 모니터링하는 것은 일반적인 관행입니다. 많은 경우, 서버는 “Retry-After” 헤더를 사용하여 요청 재시도 간 권장되는 지연 시간을 클라이언트에 알립니다.

API 속도 제한은 어떻게 작동하나요?

알고리즘 행동
고정 윈도우 간단하지만, 윈도우 경계에서 급증 현상을 유발할 수 있습니다.
슬라이딩 윈도우 더 많은 조정과 메모리 비용이 들지만, 더 공정합니다.
토큰 버킷 평균 속도를 적용하면서 제어된 버스트를 허용합니다.
리키 버킷 속도 일관성을 위해 출력을 조정합니다.

API 속도 제한과 스로틀링은 어떻게 다릅니까?

기법 위한
스로틀링 버스트를 부드럽게 처리합니다.
속도 제한 공정성을 적용하고 공유 리소스를 보호합니다.

 

SaaS 제공업체에 API 속도 제한이 필수적인 이유는 무엇인가요?

속도 제한이 구체적으로 하는 일은 다음과 같습니다.

  • 예상치 못한 출처에서 발생하는 높은 요청량으로 인해 발생할 수 있는 잠재적인 시스템 운영 문제를 해결하는 것과 관련이 있습니다.
  • 웹 스크래핑 또는 무차별 대입 공격과 같은 활동을 방지합니다.
  • 자동 확장(autoscaling) 또는 다운스트림 시스템의 리소스 사용으로 발생하는 비용을 처리합니다.

API 속도 제한 처리를 위한 클라이언트 측 모범 사례는 무엇인가요?

  1. Retry-After 헤더에 제공된 지침을 따르십시오.
  2. 무작위 요소를 포함한 지수 백오프를 시도하십시오.
  3. 요청을 “큐”에 넣거나 높은 동시성에서 부하를 분산시키십시오.
  4. 병렬 처리가 필요한 워크로드의 경우 클라이언트 측에서 트래픽 및 큐 관리를 위한 토큰 버킷을 구현할 수 있습니다.
유의 사항:

재시도 동작은 썬더링-허드 효과 및 부하 시 안정성과 관련이 있습니다.

일반적인 해결책은 API 게이트웨이, 엣지 보안 플랫폼, 서비스 제어 또는 할당량 시스템과 같은 다양한 계층을 포함합니다. 다음 패턴이 적용될 수 있습니다:

참고:

계층형 접근 방식은 SaaS, 엣지 보호, 게이트웨이 스로틀링 및 애플리케이션 수준 비즈니스 규칙에 가장 적합한 경우가 많습니다.

 

SaaS 제공업체는 속도 제한 지연을 사용자에게 어떻게 효과적으로 전달할 수 있을까요?

속도 제한으로 인해 지원팀 직원의 고객 문의량이 증가하는 경우, 요청 제한의 근거를 설명하는 것이 좋습니다. 제공업체는 다음을 준수해야 합니다:
· 고유한 HTTP 상태 코드를 사용합니다.
· Retry-After 및 속도 제한 헤더를 표시합니다.
· 문서에 명시된 제한 사항은 개발자에게 전달되어야 합니다.
· 가능한 경우, 고객’의 사용 통계 또는 남은 할당량을 표시합니다.

 

유의 사항:

사용자 경험은 사람이 읽을 수 있는 오류 메시지, 기계가 읽을 수 있는 메타데이터, 그리고 할당량 증가 요청을 위한 셀프 서비스 옵션을 포함합니다.

API 속도 제한의 한계점은 무엇이며, 어떤 보완 전략이 존재할까요?

속도 제한은 남용, 비용 및 공정성을 관리하지만, 분산 시스템에서 문제를 해결하는 데 있어 그 효과는 한계가 있을 수 있습니다. 속도 제한과 다른 제어 장치의 통합은 고려할 가치가 있습니다:

  • 할당량
  • WAF 또는 봇 보호
  • 인증 및 멱등성
  • 모니터링

 

결론

SaaS 속도 제한 API ~을 보호하는 데 사용되는 필수적인 조치입니다 클라우드 인프라, 서비스를 가동 상태로 유지하고 사용 가능하게 하며, 운영을 모니터링합니다. 이 방법은 스로틀링을 포함한 다양한 알고리즘을 사용하고 클라이언트 통신 및 적절한 한도 조정에 의존합니다.

시작할 준비가 되셨나요?

저희는 귀하가 겪는 상황을 잘 알고 있습니다. 20년 이상의 경험을 공유하여 귀하의 글로벌 꿈을 현실로 만들어 드립니다.
Mosaic Image
ko_KR한국어