Benoit Tellier created JAMES-3604: ------------------------------------- Summary: RabbitMQ: allow the use of quorum queues Key: JAMES-3604 URL: https://issues.apache.org/jira/browse/JAMES-3604 Project: James Server Issue Type: Improvement Components: rabbitmq Affects Versions: 3.6.0 Reporter: Benoit Tellier Fix For: 3.7.0
Having watched a talk about quorum queues [1] and read [2] RabbitMQ HA guide and [3] RabbitMQ Quorum Queue guide, setting up a higly available RabbitMQ cluster should be reasonnably easy. - Exchanges (and their bindings) are replicated out of the box to all nodes. - Queues can be declared as "quorum" and thus uses RAFT algorithm for replication. This can be done via the use of `x-queue-type` with value `quorum`. Also `x-quorum-initial-group-size` allow controlling the replication factor. We should allow to choose between `classic` queues or `quorum` queues based on the configuration. (classic queues are likely faster in a single queue case). - We likely SHOULD use publish-confirms (we don't...) Regarding limitations... > Consumers should use manual acknowledgements to ensure messages that aren't > successfully processed are returned to the queue so that another consumer can > re-attempt processing. So it is meaningless to switch our auto-ack queues to quorum queues. > In some cases quorum queues should not be used. They typically involve [...] > exclusive queues. So let's not switch our exclusive queues to it. This means we can turn the EventBus and MailQueue work queues to use quorum queues. [1] https://tanzu.vmware.com/content/webinars/jun-11-ha-and-data-safety-in-messaging-quorum-queues-in-rabbitmq?utm_campaign=Global_BT_Q221_RabbitMQ-Data-Safety-in-Messaging&utm_source=rabbitmq&utm_medium=website [2] https://www.rabbitmq.com/clustering.html [3] https://www.rabbitmq.com/quorum-queues.html -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org