Question regarding mirrored queue vs. quorum queue

174 views
Skip to first unread message

jesse

unread,
Nov 15, 2022, 11:46:06 AM11/15/22
to rabbitmq-users
Hi, we are using:

RabbitMQ version: 3.8.11
Using a cluster of 3 nodes
Config:
# Cluster formation. See http://www.rabbitmq.com/cluster-formation.html for details.
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s

# Split-brain mitigration strategy. RabbitMQ will automatically decide on a winning partition.
cluster_partition_handling = autoheal

# Selects the master node as the one with the least running master queues.
queue_master_locator=min-masters



I am trying to migrate to the quorum queue and answer the following questions before I do that:
1) Is there any difference in terms of memory usage between mirrored queue and quorum queue? Also, when compared to mirrored queue vs single RMQ node, does mirrored queue strictly use significantly more memory/resources for leader/follower synchonization?

2) Which part of the config do I need to update for migration from mirrored queue -> quorum queue? Do I specify the queue-type="quorum" in the config and that's pretty much it? Any other handling do I need to do on the client side?

Thanks!

Best,
Jesse

Luke Bakken

unread,
Nov 16, 2022, 10:57:16 AM11/16/22
to rabbitmq-users
Hi Jesse,

RabbitMQ 3.8.11 is out of support.

I am trying to migrate to the quorum queue and answer the following questions before I do that:
1) Is there any difference in terms of memory usage between mirrored queue and quorum queue? Also, when compared to mirrored queue vs single RMQ node, does mirrored queue strictly use significantly more memory/resources for leader/follower synchonization?

Yes, quorum queues should use less memory. It is imperative to upgrade to the latest version of RabbitMQ and Erlang, since there have been improvements since 3.8.x
 
2) Which part of the config do I need to update for migration from mirrored queue -> quorum queue? Do I specify the queue-type="quorum" in the config and that's pretty much it? Any other handling do I need to do on the client side?

Queues will have to be drained, deleted, and re-declared by your client applications with the correct x-queue-type argument (https://www.rabbitmq.com/quorum-queues.html#declaring). These queues can also be declared via definitions.

We are working on some sort of migration for RabbitMQ 4.0, since classic mirrored queues will no longer be supported. But, for the time being, it is a more involved process.

Thanks,
Luke
Reply all
Reply to author
Forward
0 new messages