0
0
RabbitMQdevops~20 mins

Shovel and Federation for multi-DC in RabbitMQ - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Multi-DC RabbitMQ Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Difference between Shovel and Federation plugins

Which statement correctly describes the main difference between RabbitMQ's Shovel and Federation plugins in a multi-data-center setup?

AFederation is designed for dynamic topology changes and scales better across multiple data centers, while Shovel is more static and configured per link.
BShovel only works within a single data center, whereas Federation works only across multiple data centers.
CShovel creates a continuous, automatic message transfer between brokers, while Federation requires manual message pulling.
DFederation duplicates messages locally, while Shovel deletes messages after transfer.
Attempts:
2 left
💡 Hint

Think about which plugin adapts better to changing network conditions and scales automatically.

💻 Command Output
intermediate
2:00remaining
Output of Shovel status command

What is the output of the following command on a RabbitMQ node with a configured shovel named 'shovel1' currently running?

rabbitmqctl shovel_status shovel1
A{"state":"running","source":"amqp://source","destination":"amqp://dest"}
BError: shovel 'shovel1' not found
C{"state":"stopped","source":"amqp://source","destination":"amqp://dest"}
Dshovel1: active
Attempts:
2 left
💡 Hint

Check the JSON output format for shovel status showing state and endpoints.

Configuration
advanced
3:00remaining
Correct Shovel configuration for multi-DC message transfer

Which of the following RabbitMQ shovel configuration snippets correctly sets up a shovel to transfer messages from a queue named 'orders' in one data center to a queue named 'orders' in another data center?

A
shovels:
  orders_shovel:
    source-uri: amqp://dc1
    source-exchange: orders
    destination-uri: amqp://dc2
    destination-queue: orders
    ack-mode: on-publish
B
shovels:
  orders_shovel:
    source-uri: amqp://dc1
    source-exchange: orders
    destination-uri: amqp://dc2
    destination-exchange: orders
    ack-mode: on-publish
C
shovels:
  orders_shovel:
    source-uri: amqp://dc1
    source-queue: orders
    destination-uri: amqp://dc2
    destination-queue: orders
    ack-mode: on-confirm
D
shovels:
  orders_shovel:
    source-uri: amqp://dc1
    source-queue: orders
    destination-uri: amqp://dc2
    destination-exchange: orders
    ack-mode: on-confirm
Attempts:
2 left
💡 Hint

Remember that queues and exchanges are different entities; the source and destination must match types.

Troubleshoot
advanced
2:30remaining
Troubleshooting Federation link failure

You have a RabbitMQ federation link configured between two data centers. Messages are not flowing, and the federation link status shows 'down'. Which of the following is the most likely cause?

AThe shovel plugin is not enabled on the downstream node.
BThe upstream URI is incorrect or unreachable from the downstream node.
CThe queue names do not match exactly on both sides of the federation link.
DThe federation plugin requires manual message acknowledgment to start.
Attempts:
2 left
💡 Hint

Check connectivity and URI correctness first when federation links are down.

🔀 Workflow
expert
3:00remaining
Order of steps to set up Federation for multi-DC RabbitMQ

Arrange the following steps in the correct order to set up a RabbitMQ Federation link between two data centers:

A3,1,2,4
B2,1,3,4
C1,3,2,4
D1,2,3,4
Attempts:
2 left
💡 Hint

Think about enabling features before configuring them and verifying last.