Microsoft Throttling이란?
Microsoft Throttling은 Microsoft의 클라우드 서비스나 애플리케이션에서 사용자의 리소스 사용을 관리하고 제어하는 기술입니다.
이는 클라우드 서비스, 데이터베이스, API 요청 등을 포함한 다양한 Microsoft 서비스에서 시스템 성능과 안정성을 유지하기 위해 사용됩니다.
주요 목적
- 성능 유지 : 많은 사용자나 애플리케이션이 동시에 시스템에 접근할 때 성능 저하를 방지합니다.
- 리소스 보호 : 과도한 요청이나 사용량으로 인해 시스템 리소스가 고갈되지 않도록 합니다.
- 공정한 사용 보장 : 모든 사용자에게 공평한 리소스 사용 기회를 제공합니다.
- 서비스 안정성 : 갑작스러운 트래픽 증가에도 서비스가 안정적으로 운영되도록 합니다.
주요 기능
- API Rate Limiting : 특정 시간 내에 API 요청 횟수를 제한합니다.
- 예를 들어, 초당 혹은 분당 최대 요청 횟수를 설정하여 과도한 요청을 방지합니다.
- 데이터베이스 쿼리 제한 : 데이터베이스 서버에 과도한 쿼리 요청이 들어오는 것을 방지하여 데이터베이스의 성능을 유지합니다.
- 네트워크 트래픽 제어 : 네트워크 대역폭을 제한하여 특정 사용자나 서비스가 네트워크 리소스를 독점하지 않도록 합니다.
- Compute Resource Limiting : 가상 머신이나 컨테이너에서 CPU, 메모리 사용량을 제한하여 특정 애플리케이션이 전체 시스템 성능에 영향을 미치지 않도록 합니다.
적용 예시
- Azure API Management : API 요청 수를 제한하여 API 서비스의 안정성을 유지합니다.
- Azure SQL Database : 데이터베이스 쿼리의 속도와 빈도를 제어하여 데이터베이스 성능을 최적화합니다.
- Microsoft Graph : Microsoft 365의 데이터를 접근할 때, API 요청 수를 제한하여 서비스의 안정성을 유지합니다.