限制最佳做法和建议
在 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 将尝试代表调用方处理重试。 否则,请将以下策略与重试值结合使用,以开发自定义处理。
缓解限制问题
如果限制错误仍然存在,请考虑采用以下策略:
审阅请求速率
- 分析发送大量请求的原因。
- 评估降低 API 所针对的特定玩家或游戏实体的请求速率的方法。
批处理 API 调用
- 通过批处理 API 调用降低频率。
- 示例:Batch 配置文件每隔 10 秒更新一次,而不是每秒更新一次。
要点
- 限制错误会提示 HTTP 429 响应,其中包含有关错误性质的详细信息。
- 利用 Retry-After 和 “retryAfterSeconds”属性确定发出另一个请求之前的等待时间。
- 评估高频率请求的必要性并相应地进行优化。
- 实施批处理策略以缓解限制问题并提高整体系统效率。