我们如何计算每小时的最大请求数?

问题描述

亚马逊 mws 如何进行此计算以设置 api 节流值?我知道每个愚蠢的问题都要问,但这对我来说是新的。 例如,我的最大请求配额为 20,并以每五秒一个请求的速率刷新。如果在一小时内不超过 20 个请求配额,则每小时最多 720 个请求。

解决方法

MWS 使用“leaky bucket”算法来计算呼叫率和限制。

请参阅 http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Throttling.html 以获得全面的解释。

对于您的示例,如果最大请求配额为 20 且恢复速率为每 5 秒一次,那么如果您每 5 秒发出一次请求,则配额将保持为 20。如果将请求速率增加到每 3 秒一次,您将耗尽配额直到它达到零,之后您将再次只能每 5 秒发出一次成功的请求(某些请求将失败)。将请求频率更改为大于 5 秒将允许配额再次建立备份,直到达到总共 20 个可用。

上述文档中的一个关键点:

你应该考虑自动化你的请求并有一个后备 过程中,如果由于达到最大值而发生节流 请求配额或 Web 服务遇到高流量,您 可能会减慢您提出的请求数量并重新提交请求 最初失败了。