Bird
Raised Fist0
RabbitMQdevops~10 mins

Quorum queues (recommended) in RabbitMQ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the command to declare a quorum queue named 'my_queue'.

RabbitMQ
rabbitmqctl add_queue --queue [1] --type quorum
Drag options to blanks, or click blank then click option'
Aclassic_queue
Bpriority_queue
Ctemp_queue
Dmy_queue
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different queue name than 'my_queue'.
2fill in blank
medium

Complete the JSON configuration to set the queue type to quorum.

RabbitMQ
{"durable": true, "arguments": {"x-queue-type": [1]
Drag options to blanks, or click blank then click option'
A"classic"
B"quorum"
C"lazy"
D"priority"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'classic' or other queue types instead of 'quorum'.
3fill in blank
hard

Fix the error in the command to declare a quorum queue with 3 replicas.

RabbitMQ
rabbitmqadmin declare queue name=my_quorum_queue [1]='quorum' arguments='{"x-quorum-initial-group-size": 3}'
Drag options to blanks, or click blank then click option'
Aqueue
Bqueue_type
Ctype
Dx-queue-type
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'queue_type' or 'x-queue-type' instead of 'type'.
4fill in blank
hard

Fill both blanks to create a policy that applies quorum queues to all queues starting with 'q_'.

RabbitMQ
rabbitmqctl set_policy [1] "^q_" '{{"[2]": "quorum"}}' --apply-to queues
Drag options to blanks, or click blank then click option'
Aquorum_policy
Bclassic_policy
Cx-queue-type
Ddurable
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong policy names or wrong argument keys like 'durable'.
5fill in blank
hard

Fill all three blanks to declare a quorum queue with 5 replicas and durable set to true.

RabbitMQ
rabbitmqadmin declare queue name=[1] durable=[2] arguments='{"[3]": 5}'
Drag options to blanks, or click blank then click option'
Amy_quorum_queue
Btrue
Cx-quorum-initial-group-size
Dfalse
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong queue names, setting durable to false, or wrong argument keys.

Practice

(1/5)
1. What is the main purpose of a quorum queue in RabbitMQ?
easy
A. To replicate messages across multiple nodes for safety
B. To speed up message delivery by using a single node
C. To store messages only on disk without replication
D. To limit the number of messages in the queue

Solution

  1. Step 1: Understand quorum queue purpose

    Quorum queues replicate messages to multiple nodes to ensure safety and durability.
  2. Step 2: Compare options

    Only To replicate messages across multiple nodes for safety describes replication for safety, which is the main feature of quorum queues.
  3. Final Answer:

    To replicate messages across multiple nodes for safety -> Option A
  4. Quick Check:

    Quorum queue purpose = replication for safety [OK]
Hint: Quorum queues replicate messages for safety [OK]
Common Mistakes:
  • Thinking quorum queues speed up delivery instead of ensuring safety
  • Confusing quorum queues with simple disk storage
  • Assuming quorum queues limit message count
2. Which is the correct way to declare a quorum queue in RabbitMQ using the CLI?
easy
A. rabbitmqadmin declare queue name=myqueue durable=true arguments={"x-queue-type":"quorum"}
B. rabbitmqadmin declare queue name=myqueue durable=true
C. rabbitmqctl add_queue myqueue x-queue-type=classic
D. rabbitmqctl add_queue myqueue durable=true

Solution

  1. Step 1: Identify quorum queue declaration syntax

    Quorum queues require setting the argument "x-queue-type" to "quorum" when declaring the queue.
  2. Step 2: Check options for correct syntax

    Only rabbitmqadmin declare queue name=myqueue durable=true arguments={"x-queue-type":"quorum"} uses the correct syntax with rabbitmqadmin and sets the argument properly.
  3. Final Answer:

    rabbitmqadmin declare queue name=myqueue durable=true arguments={"x-queue-type":"quorum"} -> Option A
  4. Quick Check:

    Quorum queue declaration = set x-queue-type to quorum [OK]
Hint: Set x-queue-type to quorum in queue arguments [OK]
Common Mistakes:
  • Using rabbitmqctl add_queue which is not a valid command
  • Not setting x-queue-type argument
  • Using classic queue type instead of quorum
3. Given the following command, what will be the type of the queue created?
rabbitmqadmin declare queue name=test durable=true arguments={"x-queue-type":"quorum"}
medium
A. Classic queue
B. Lazy queue
C. Priority queue
D. Quorum queue

Solution

  1. Step 1: Analyze the queue declaration command

    The command sets the argument "x-queue-type" to "quorum", which specifies the queue type.
  2. Step 2: Determine queue type from argument

    Setting "x-queue-type" to "quorum" creates a quorum queue.
  3. Final Answer:

    Quorum queue -> Option D
  4. Quick Check:

    Queue type argument = quorum [OK]
Hint: Check x-queue-type argument value for queue type [OK]
Common Mistakes:
  • Assuming default classic queue without checking arguments
  • Confusing quorum with lazy or priority queues
  • Ignoring the arguments field
4. You tried to create a quorum queue but got an error. Which of these is the most likely cause?
medium
A. You declared the queue with a name longer than 10 characters
B. You set durable to false
C. You forgot to set the argument x-queue-type to quorum
D. You used the command rabbitmqctl add_queue

Solution

  1. Step 1: Identify required argument for quorum queues

    Quorum queues require the argument "x-queue-type" set to "quorum"; missing this causes errors.
  2. Step 2: Evaluate other options

    Durability false is allowed, rabbitmqctl add_queue is invalid command but not the main cause, and queue name length is not restricted to 10 characters.
  3. Final Answer:

    You forgot to set the argument x-queue-type to quorum -> Option C
  4. Quick Check:

    Missing x-queue-type=quorum causes error [OK]
Hint: Always set x-queue-type=quorum for quorum queues [OK]
Common Mistakes:
  • Assuming durability must be true
  • Using invalid rabbitmqctl commands
  • Believing queue name length causes errors
5. You want to ensure your important messages are never lost even if a RabbitMQ node crashes. Which queue type and setting should you use?
hard
A. Classic queue with durable=false
B. Quorum queue with x-queue-type set to quorum and durable=true
C. Lazy queue with auto-delete=true
D. Classic queue with exclusive=true

Solution

  1. Step 1: Identify queue type for message safety

    Quorum queues replicate messages across nodes, protecting against node crashes.
  2. Step 2: Check durability setting

    Durable=true ensures messages survive broker restarts, important for message safety.
  3. Step 3: Evaluate other options

    Classic queues with durable=false or exclusive=true do not guarantee safety; lazy queues with auto-delete=true remove queues automatically.
  4. Final Answer:

    Quorum queue with x-queue-type set to quorum and durable=true -> Option B
  5. Quick Check:

    Quorum + durable=true = message safety [OK]
Hint: Use quorum queue with durable=true for safety [OK]
Common Mistakes:
  • Using classic queues without durability
  • Confusing lazy or exclusive queues with safety features
  • Ignoring durable setting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard