Hint: Durable queue + persistent message = no loss on restart [OK]
Common Mistakes:
Assuming message is lost without ack
Thinking queue deletes on restart
Believing message duplicates automatically
4. A developer notices some messages are lost after RabbitMQ crashes. The queue is durable, but messages are not persistent. What is the likely cause?
medium
A. Messages are not saved to disk because they are not persistent
B. Queue durability setting is incorrect
C. Publisher confirms are disabled
D. Consumer acknowledgments are missing
Solution
Step 1: Understand durable queue vs persistent messages
Durable queues survive restarts, but messages must be persistent to be saved to disk.
Step 2: Identify cause of message loss
Since messages are not persistent, they exist only in memory and are lost on crash despite durable queue.
Final Answer:
Messages are not saved to disk because they are not persistent -> Option A
Quick Check:
Non-persistent messages lost despite durable queue [OK]
Hint: Durable queue alone doesn't save messages without persistence [OK]
Common Mistakes:
Blaming queue durability instead of message persistence
Assuming publisher confirms prevent loss here
Confusing consumer ack with message persistence
5. You want to ensure no messages are lost even if RabbitMQ crashes and the network is unreliable. Which combination of settings and features should you use?
hard
A. Declare durable queues, publish persistent messages, and enable publisher confirms
B. Use transient queues with non-persistent messages and disable publisher confirms
C. Declare durable queues but publish non-persistent messages without confirms
D. Use transient queues with persistent messages and no publisher confirms
Solution
Step 1: Identify settings that prevent message loss on crash
Durable queues and persistent messages ensure messages survive server restarts and crashes.
Step 2: Add publisher confirms for network reliability
Publisher confirms let the sender know messages reached the broker safely, handling network issues.
Final Answer:
Declare durable queues, publish persistent messages, and enable publisher confirms -> Option A
Quick Check:
Durable + persistent + confirms = max reliability [OK]
Hint: Combine durability, persistence, and confirms for no message loss [OK]
Common Mistakes:
Ignoring publisher confirms for network issues
Using transient queues which lose messages on restart