서비스 간 Microsoft Store API의 세분화된 속도 제한
Xbox 서비스는 FGRL(Fine Grained Rate Limiting)을 구현하며, 여기에는 서비스 간 통화를 통한 상거래 시나리오에서 사용되는 컬렉션 및 인벤토리 끝점이 포함됩니다. 서비스가 여기에 설명된 대로 속도 제한 및 HTTP 응답 코드 조절을 처리하는지 확인하세요.
영향을 받는 끝점
다음 끝점은 FGRL 제한을 적용합니다.
https://collections.mp.microsoft.com/v9.0/collections/publisherQuery
https://collections.mp.microsoft.com/v8.0/collections/b2bLicensePreview
https://collections.mp.microsoft.com/v8.0/collections/consume
https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/query
https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/{recurrenceId}/change
다음 끝점은 다음 GDK API에서 사용됩니다.
속도 제한
Xbox 서비스와 마찬가지로 속도 제한은 XStore*
클라이언트 API에 대한 사용자 + 타이틀 ID의 조합입니다.
- {userId;titleId}: 100개 작업/300초로 제한됩니다.
사용자 컨텍스트 외에도 상거래 끝점에는 서비스 간 호출의 속도 제한에 사용되는 PublisherID 플래그도 포함됩니다.
- {userId;publisherId}: 200개 작업/300초로 제한됩니다.
제한은 지속적인 트래픽에만 적용되며 버스트 속도 제한은 적용되지 않습니다.
속도 제한 동작
라이브 서비스 호출에 대한 기존의 속도 제한과 마찬가지로, 속도 제한 상거래 호출은 HTTP 429 오류를 반환합니다. 이 오류에 대한 응답 본문에는 다음 형식의 추가 정보가 포함되어 있습니다: {Z} 측면에 대한 {X} 작업의 속도 제한({Y}초)을 초과했습니다.
응답 헤더에는 다음 통화가 허용되는 시기를 나타내는 'Retry-After' 헤더도 포함됩니다.
속도 제한을 받지 않으려면 호출 패턴을 분석하여 호출이 기존 호출 제한을 초과하는 시기를 확인합니다. 그런 다음 가능한 경우 호출을 조절하거나 줄이고 Retry-After 헤더를 준수하는 논리를 구현합니다.