Compartilhar via

限流

配置存储对可以提供服务的请求有限制。 超出配置存储分配配额的任何请求都将收到 HTTP 429(请求过多)响应。

限制分为不同的配额策略:

  • 请求总数 - 请求总数
  • 总带宽 - 出站数据(以字节为单位)
  • Storage - 用户数据的总storage大小(以字节为单位)

处理受限制的响应

达到给定配额的速率限制后,服务器将使用 429 状态代码响应该类型的进一步请求。 429 响应将包含重试后 ms 标头,向客户端提供建议的等待时间(以毫秒为单位),以允许请求配额进行补充。

HTTP/1.1 429 (Too Many Requests)
retry-after-ms: 10
Content-Type: application/problem+json; charset=utf-8
{
  "type": "https://azconfig.io/errors/too-many-requests",
  "title": "Resource utilization has surpassed the assigned quota",
  "policy": "Total Requests",
  "status": 429
}

在上面的示例中,客户端已超出其允许的配额,建议在尝试任何进一步请求之前放慢速度并等待 10 毫秒。 客户端也应该考虑渐进式退避。

其他重试

该服务可能确定需要客户端重试的限制以外的情况(例如:503 服务不可用)。 在所有此类情况下, retry-after-ms 将提供响应标头。 为了提高可靠性,建议客户端遵循建议的间隔并执行重试。

HTTP/1.1 503 Service Unavailable
retry-after-ms: 787

监测

若要查看 Total Requests 配额使用情况,App Configuration提供名为 Request Quota Usage 的指标。 请求配额使用情况指标将当前配额使用情况显示为百分比。

有关请求配额使用情况指标和其他App Configuration指标的详细信息,请参阅 App Configuration 指标