Amazon Cloud MapAPI 请求限制配额 - Amazon Cloud Map
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Cloud MapAPI 请求限制配额

Amazon Cloud Map限制 DiscoverInstancesAPI 请求区域的基础上的每个Amazon账户。限制有助于提高服务的性能,并有助于为所有Amazon Cloud Map客户提供公平的使用。限制可确保对Amazon Cloud Map DiscoverInstancesAPI 的调用不超过允许的最大 DiscoverInstancesAPI 请求配额。DiscoverInstances来自以下任何来源的 API 调用均受请求配额的约束:

  • 第三方应用程序

  • 命令行工具

  • Amazon Cloud Map 控制台

如果您超过 API 限制配额,则会收到RequestLimitExceeded错误代码。有关更多信息,请参阅请求速率限制

如何应用节流

Amazon Cloud Map使用令牌存储桶算法实现 API 限制。使用此算法,您的账户拥有一个持有特定数量的令牌存储桶。存储桶中的令牌数量表示您在任何给定秒钟的限制配额。单个区域有一个存储桶,它适用于该区域中的所有终端节点。

请求速率限制

限制限制您可发出的 DiscoverInstancesAPI 请求数量。每个请求都会从存储桶中删除一个令牌。例如,DiscoverInstancesAPI 操作的存储桶大小为 6,000 个令牌,因此您在一秒钟内最多可以发出 6,000 个DiscoverInstances请求。如果您在一秒钟内超过 6,000 个请求,则会受到限制,并且该秒内的剩余请求将失败。

存储桶会自动按设定的速率重新装满。如果存储桶的容量不足,则每秒会向回添加一定数量的代币,直到存储桶达到容量为止。如果充值代币到达时存储桶已满员,则这些代币将被丢弃。DiscoverInstancesAPI 操作的存储桶大小为 6,000 个代币,充值率为每秒 1,000 个代币。如果您在一秒钟内发出 6,000 个 DiscoverInstancesAPI 请求,则存储桶会立即减少为零 (0) 个令牌。然后,存储桶每秒最多可充满 1,000 个代币,直到其最大容量达到 2000 个代币。

当代币添加到存储桶时,您可以使用它们。在发出 API 请求之前,您无需等待存储桶达到最大容量。如果您在一秒钟内发出 6,000 个 DiscoverInstancesAPI 请求来耗尽存储桶,则在此之后只要需要,您仍可以每秒最多发出 1,000 个 DiscoverInstancesAPI 请求。这意味着您可以将充值代币添加到您的存储桶后立即使用它们。只有当您每秒发出的 API 请求少于重新填充速率时,存储桶才会开始重新填充到最大容量。

重试或批处理

如果 API 请求失败,您的应用程序可能需要重试该请求。要减少 API 请求的数量,请在连续请求之间使用适当的休眠间隔。为了获得最佳的效果,请使用递增或可变的睡眠间隔。

计算睡眠间隔

在需要轮询或重试 API 请求时,我们建议您使用指数回退算法计算 API 调用之间的睡眠间隔。通过逐渐延长连续错误响应的两次重试之间的等待时间,可以减少失败的请求数量。有关此算法的更多信息和实现示例,请参阅中的错误重试和指数回退Amazon

调整 API 限制配额

您可以请求增加您的 Amazon 账户的 API 限制配额。要请求配额调整,请联系 Amazon Web Services Support 中心