我正在开发一个使用golang (https://aws.amazon.com/sdk-for-go/)调用AWS的软件应用程序。我的软件服务正在构建云环境的实时拓扑,因此取决于尽可能频繁地为云帐户中的每个服务调用这个API。
我正在查找有关以下示例API调用中的多少个的信息,如下图所示,使用AWS CLI等效项,每秒可以发出以下命令:
$ aws iam list-users
$ aws iam list-roles
$ aws ec2 describe-instances
... 这些API调用受AWS所称的请求令牌桶大小和填充速率的限制(请参阅https://docs.aws.amazon.com/AWSEC2/latest/APIReference/throttling.html#throttling-limits-cost-based作为EC2的这些速率的示例)。当然,云客户可以增加其中的一些速率和桶大小。
我的问题是,是否为所有服务的这些费率都提供了API,以便我的应用程序能够知道当前的水桶大小和加满的价格,这样就不会对我的客户合同造成节流和冲突。换句话说,我希望将EC2请求令牌桶大小作为JSON传递到我的软件应用程序(以及所有其他AWS服务)。这个是可能的吗?
发布于 2021-08-24 13:24:17
据我所知,在编写此响应时,AWS上的令牌桶算法实现似乎很难处理。
许多服务没有这些数字、最大桶大小和桶填充率(在文档中发布),不像GCP的API节流,它简单、易于猜测和编写快速规则(https://cloud.google.com/compute/docs/api-rate-limits)或Azures,这也是很好的文档(https://learn.microsoft.com/en-us/graph/throttling和https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/request-limits-and-throttling)。
另外,在AWS上也绝对没有API节流桶大小和填充率的API。
因此,AWS应用程序的API节流响应必须非常特定于应用程序,并根据您的特定需求进行调优。
https://stackoverflow.com/questions/68850409
复制相似问题