Challenge - 5 Problems
Message Queue Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate2:00remaining
Primary use case of message queues in distributed systems
Which of the following best describes the main purpose of using a message queue like RabbitMQ in a distributed system?
Attempts:
2 left
💡 Hint
Think about how services communicate without waiting for each other.
✗ Incorrect
Message queues like RabbitMQ allow services to send messages without waiting for the receiver to process them immediately, enabling asynchronous and decoupled communication.
❓ scaling
intermediate2:00remaining
Scaling consumers with RabbitMQ
If a system uses RabbitMQ to process tasks and the number of tasks suddenly increases, what is the best way to handle the increased load?
Attempts:
2 left
💡 Hint
Think about how to process more messages at the same time.
✗ Incorrect
Adding more consumers allows the system to process messages concurrently, improving throughput and handling increased load effectively.
❓ tradeoff
advanced2:00remaining
Tradeoff between message durability and performance
What is a common tradeoff when configuring RabbitMQ for message durability?
Attempts:
2 left
💡 Hint
Consider what happens when the broker crashes and how durability affects speed.
✗ Incorrect
Durable messages are saved to disk, which slows down processing but ensures messages are not lost if the broker crashes.
❓ Architecture
advanced2:00remaining
Designing a fault-tolerant task processing system with RabbitMQ
Which architectural pattern best ensures that tasks are not lost and are processed at least once using RabbitMQ?
Attempts:
2 left
💡 Hint
Think about how to avoid losing messages even if the system crashes.
✗ Incorrect
Durable queues and persistent messages ensure messages survive broker restarts, and manual acknowledgments confirm successful processing to avoid message loss.
❓ estimation
expert3:00remaining
Estimating RabbitMQ capacity for peak load
A system expects to receive 10,000 messages per second at peak. Each message is 1 KB in size. The RabbitMQ server has a network bandwidth of 1 Gbps and disk write speed of 100 MB/s. What is the main bottleneck when enabling message durability?
Attempts:
2 left
💡 Hint
Calculate the data rate and compare with bandwidth and disk speed.
✗ Incorrect
10,000 messages * 1 KB = 10 MB/s, which is well below both 1 Gbps network (~125 MB/s) and 100 MB/s disk write speed, so no bottleneck.