Round Robin Pileup

Three RabbitMQ consumers read one work queue. Job durations are wildly uneven, and monitoring shows one consumer sitting on a long backlog while the other two idle. Prefetch was never configured. What fixes the imbalance?

A

Rebind the queue through a topic exchange so routing keys steer heavy jobs onto a dedicated consumer and leave the rest of the pool for quick ones

B

Set a small basic.qos prefetch count so the broker gives a consumer another message only after it acknowledges the current one

C

Raise the prefetch count so each consumer keeps a deep local buffer and never idles while the next delivery crosses the network

D

Add more consumer processes so the broker's round-robin dispatch spreads the uneven jobs across a larger pool and no one worker draws a heavy run