限制最佳做法和建议

在 PlayFab 中遇到限制时,将返回 HTTP 429 错误,指示 API 调用受到限制。 响应标头和正文包含用于了解错误的关键信息。

示例标头:

HTTP/1.1 429 Too Many Requests
Retry-After: 8

响应正文示例:

{ 
  "code": 429, 
  "status": "TooManyRequests", 
  "retryAfterSeconds": 8, 
  "error": "APIClientRequestRateLimitExceeded", 
  "errorCode": 1199, 
  "errorMessage": "The client has exceeded the maximum API request rate and is being throttled" 
} 

“Retry-After“retryAfterSeconds”属性指示尝试另一个请求以避免限制之前的等待时间(以秒为单位)。 如果使用最新的 跨平台 C/C++ SDK 将尝试代表调用方处理重试。 否则,请将以下策略与重试值结合使用,以开发自定义处理。

缓解限制问题

如果限制错误仍然存在,请考虑采用以下策略:

  1. 审阅请求速率

    • 分析发送大量请求的原因。
    • 评估降低 API 所针对的特定玩家或游戏实体的请求速率的方法。
  2. 批处理 API 调用

    • 通过批处理 API 调用降低频率。
    • 示例:Batch 配置文件每隔 10 秒更新一次,而不是每秒更新一次。

要点

  • 限制错误会提示 HTTP 429 响应,其中包含有关错误性质的详细信息。
  • 利用 Retry-After“retryAfterSeconds”属性确定发出另一个请求之前的等待时间。
  • 评估高频率请求的必要性并相应地进行优化。
  • 实施批处理策略以缓解限制问题并提高整体系统效率。

另请参阅