0

I have 1 api key that has a rate limit 1000req/1min.

I would like to somehow use 50% of that limit in service 1 and 50% of that limit in service 2. Let's say they're just 2 separate processes using the same api key. How could I implement distributed rate limiter like that?

https://www.jeremydaly.com/throttling-third-party-api-calls-with-aws-lambda/

Konrad
  • 1,529
  • 2
  • 17
  • 32
  • 1
    Why not just throttle each service so that on average each one sends no more than 500 per minute? A simple `Thread.sleep(...)` in between requests is a good place to start. – Greg Burghardt Oct 28 '21 at 12:28
  • That was my initial thought just asked this because wasn't sure if I'm on the right track of approaching this problem. Ty. – Konrad Oct 28 '21 at 12:44
  • 3
    It really depends if you will always have 2 services or if you dynamically spin services based on demand. If this simple approach doesn't work in practice, you may need to set up a queue and have a single service that pops off the queue to make those requests at the correct rate. – Berin Loritsch Oct 28 '21 at 13:14

0 Answers0