Managing Long Running Tasks hard
How do you rate limit an external API call across 1000 distributed workers?
- A Local counter on each worker.
- B Distributed Rate Limiter (e.g., Token Bucket in Redis). Workers must claim a token from Redis before making the API call.
- C Guess.
- D Check the time.
Answer: B. Distributed Rate Limiter (e.g., Token Bucket in Redis). Workers must claim a token from Redis before making the API call.
Local limits don't work because workers don't know about each other.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is the primary purpose of a Dead Letter Queue (DLQ)?
- The architectural pattern where one service creates tasks and another processes them is called:
- In a Priority Queue system (High vs Low), what is 'Starvation' and how do you fix it?
- How do you atomically update your local database AND publish a message to a queue without losing sync if the process crashes in between?
- What does 'Fire and Forget' mean?
- Why might you 'Throttle' (limit the speed of) your background workers?