Worker pools convert backlog into bounded concurrency#
Several workers typically compete so one logical job is owned by one worker at a time. Concurrency limits protect downstream systems; fairness and slow-job isolation keep one class from starving another.
receive → process → acknowledge
crash before acknowledgement → message may become available againIn SQS-style systems, a visibility timeout temporarily hides an in-flight message. Too short can create concurrent duplicates; too long delays retry after a crash. The lease name and exact behavior are product-specific.
Use these prompts to extend the design. The useful answer is a reasoned change, not a memorized sentence.
- What if a worker crashes after the side effect but before ACK?
- What if one job takes 30 minutes?
- How do poison jobs avoid blocking healthy work?
- Which downstream concurrency limit caps the pool?
Related practice problems
Use the manifest-backed prompts below to apply this lesson in a complete design.
- RabbitMQ reliability guideRabbitMQ Documentation