How message queues works
Buffer a burst of jobs and inspect delivery, processing, acknowledgement and redelivery. Separate a drained queue from successfully completed business work.
When to use it
Process background orders with bounded consumer concurrency and recovery after a worker crash.
Explore the tradeoffs
A queue absorbs a burst; workers determine how quickly it drains. Buffering trades immediate pressure for waiting time.
At-least-once delivery can repeat a business effect. Acknowledging early avoids retries but can lose work after a crash.
A retry policy needs an exit path for permanently bad work. Deduplication requires durable, correctly scoped keys and atomic updates.
Model boundaries
One durable broker is assumed. Each worker has prefetch one. Failures are scripted; idempotency represents an atomic business effect plus deduplication record.