RabbitMQ Quorum Queue Support Questions

Hey Particular Team,

Our company is looking to utilize the Quorum queue feature in rabbitmq due to this being the recommended way gong forward in regards to RabbitMQ Clustering. Can anyone provide me answers to the following questions to help us better plan and understand how/when we can use this feature?

  1. Is Quorum Queue Support still a WIP ( it appears to be based on searching through github and the nservicebus docs )?
  2. Is there an expected ETA and version of nservicebus ( and nservicebus.rabbitmq ) that will ship with this support?
  3. Are there any huge changes that we will need to make in our NServiceBus Endpoints to support this feature? ( EX: not being able to utilize timeouts using the Native RabbitMQ Delayed Delivery ( RabbitMQ Delayed Delivery • RabbitMQ Transport • Particular Docs ) )
  4. Anything else we should know that you feel is important?

Thanks

  1. Is Quorum Queue Support still a WIP ( it appears to be based on searching through github and the nservicebus docs )?

Yes, but we shipped partial support in NServiceBus.RabbitMq 6.1. You can use a quorum queue as an endpoints input queue, but NServiceBus will not create it if it does not exist, so you need to set it up yourself.

  1. Is there an expected ETA and version of nservicebus ( and nservicebus.rabbitmq ) that will ship with this support?

The full support needs NServiceBus version 8 which we do not have an ETA for at this time. We are actively working to complete this major release. Full support for quorum queues in the RabbitMQ transport may lag behind that release and would be part of a new major version of that transport. I would subscribe to Support for quorum queues · Issue #556 · Particular/NServiceBus.RabbitMQ · GitHub which is the most likely place we would provide a specific update on this request.

  1. Are there any huge changes that we will need to make in our NServiceBus Endpoints to support this feature? ( EX: not being able to utilize timeouts using the Native RabbitMQ Delayed Delivery ( RabbitMQ Delayed Delivery • RabbitMQ Transport • Particular Docs ) )

Quorum queues will not support any sort of TTL, Pivotal mentioned possibly a new queue type, but per them that it is years away and they have no details to share about this possibility. In the meantime, we are exploring our options, but we have nothing to share with you about our plans other than that for now delayed delivery uses conventional queues still.

As always, once we have reached the future of RabbitMq timeouts, we will do our very best to make the transition as smooth as possible.

  1. Anything else we should know that you feel is important?

Not at this time. There isn’t much information to share, but rest assured we will do so as soon as we have information to share.

For what it’s worth, Quorum Queues support queue and message TTL as of RabbitMQ version 3.10 -

https://www.rabbitmq.com/quorum-queues.html#feature-matrix

1 Like