Which statement best describes synchronous communication in RabbitMQ?
Think about whether the sender pauses or not after sending a message.
Synchronous communication means the sender waits for a reply before moving on. In RabbitMQ, this is less common because it is designed for asynchronous messaging.
What output will you see if a RabbitMQ consumer does not acknowledge a message and the connection closes?
rabbitmqctl list_queues name messages_ready messages_unacknowledged
Think about what happens to unacknowledged messages when the consumer disconnects.
When a consumer does not acknowledge messages and disconnects, RabbitMQ automatically re-queues unacknowledged messages, increasing messages_ready and setting messages_unacknowledged to zero.
Which RabbitMQ setup best supports asynchronous communication where the sender does not wait for the receiver?
Asynchronous means the sender does not wait for any response.
Publishing to a queue without expecting a reply allows the sender to continue immediately, which is asynchronous communication.
A RabbitMQ consumer processes messages slowly, causing the sender to block. What is the likely cause?
Consider what causes the sender to wait or block.
If the sender uses synchronous RPC calls, it waits for the consumer to reply, so slow consumer processing blocks the sender.
For a system requiring high throughput and loose coupling, which RabbitMQ communication style is best?
Think about which style reduces waiting and dependency between sender and receiver.
Asynchronous messaging allows senders to continue without waiting, enabling high throughput and loose coupling between components.