我有一個關於如何減慢我的API請求的問題。對於我打的特定的第三方API,我允許每2秒發出3次請求。如果我翻過那個數字,我會返回status code 429
以及以毫秒爲單位的等待時間。速率限制請求和亞馬遜SQS
這個API經常被調用,並且是我自己的服務器有傳入請求的直接結果,這些請求不受速率限制。
因爲我沒有任何需要同步處理第三方API請求,所以我決定將工作卸載到AWS上的彈性beanstalk工作箱,默認情況下從Amazon SQS讀取。
因此,如果狀態碼429從第三方api返回,我的工作人員會將SQS消息放回隊列中。當等待時間到時,這不可避免地使api呼叫工作。然而,這似乎是一個不好的解決方案
有什麼辦法告訴守護程序在工人箱上留在隊列中的消息分配的等待時間?或者我可以設置守護進程從隊列中讀取的速率?我正在尋找一種適當的方式(具體實現),以使用AWS上的工作者和隊列來限制速率。十分感謝你的幫助!
編輯: 我會假設有一些配置可以在AWS上進行修改來完成我所要求的功能,但無論哪種方式我都在尋找我所描述的設置的特定解決方案。我不太清楚如何修改或控制彈性beanstalk worker框中的守護進程。
擊中第三方API的目的是什麼?調用它的觸發器是什麼? –
我正在使用第三方電子郵件營銷服務來填充/更新客戶的電子郵件營銷帳戶。我的產品中有很多觸發器,主要用於實時更新和填充這些營銷帳戶。 – AIntel