Managing Long Running Tasks medium
What is the primary benefit of 'Decoupling' the Producer from the Consumer using a Message Queue like SQS or RabbitMQ?
- A It makes the code simpler.
- B It ensures FIFO ordering.
- C It reduces latency.
- D Independent Scaling and Fault Tolerance. If the Worker service crashes or is overwhelmed (Consumer), the Producer can keep accepting user requests and queuing them up without failure.
Answer: D. Independent Scaling and Fault Tolerance. If the Worker service crashes or is overwhelmed (Consumer), the Producer can keep accepting user requests and queuing them up without failure.
This buffers traffic spikes. The queue acts as a shock absorber.
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?