gpt4 book ai didi

amazon-web-services - 速率限制请求和 Amazon SQS

转载 作者:行者123 更新时间:2023-12-02 08:23:33 24 4
gpt4 key购买 nike

我有一个关于如何减慢 API 请求的问题。对于我点击的特定第三方 API,我可以每 2 秒发出 3 个请求。如果超过该数字,我会返回状态代码 429 以及以毫秒为单位的等待时间。

此 api 经常被调用,是我自己的服务器具有不受速率限制的传入请求的直接结果。

由于我不需要同步处理第三方 API 请求,因此我决定将工作卸载到 AWS 上的弹性 beanstalk 工作框,默认情况下从 Amazon SQS 读取。

因此,如果从第三方 API 返回状态代码 429,我的工作人员会将 SQS 消息扔回队列中。这不可避免地会使 api 调用在达到等待时间时起作用。然而,这似乎是一个糟糕的解决方案

有什么方法可以告诉工作箱上的守护进程在分配的等待时间内将消息留在队列中吗?或者我可以设置守护进程从队列中读取的速率吗?我正在寻找一种正确的方法(特定于实现)来使用 AWS 上的工作线程和队列进行速率限制。非常感谢您的帮助!

编辑:我本以为可以在 AWS 上修改一些配置来执行我所要求的操作,但无论哪种方式,我都在为我描述的设置寻找特定的解决方案。我不太确定如何修改或控制弹性beanstalk工作盒上的守护进程。

最佳答案

据我了解,您有很多调用第三方服务的触发器,并且您需要对 API 调用进行速率限制。

最好的方法是对从 SQS 读取的守护进程进行速率限制。根据编写守护程序所用的语言,您应该能够轻松找到可以重用的速率限制器库。例如,Java 和 Python 拥有经过良好测试的库 herehere分别。

请记住,这些库将允许每个工作线程每秒 X 个请求。如果您运行一个守护进程,则 X 将是 1.5,适合您的用例。如果您有两个守护进程(例如,两台不同的机器上各有一个),X 应为 0.75

关于amazon-web-services - 速率限制请求和 Amazon SQS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com