Improve the Highly Available (Mirrored) Queues policy

Without this policy, the queues reply_*, *_fanout_* are mirrored, across
all the RabbitMQ nodes.
It is not necessary to mirror the queues above, because they are usually
bound to one specific consumer, so the mirroring is not essential.
The new policy reduces the number of mirror queues and increases, in
general, the performances because it reduces the number of copies across
the cluster.

More info about RabbitMQ HA [1]

[1]: https://www.rabbitmq.com/ha.html

ref:
http://eavesdrop.openstack.org/meetings/oslo/2019/oslo.2019-02-25-15.22.txt

Change-Id: I783d314aaa68b09abb4fed90818165b9e61e9758
This commit is contained in:
Gabriele 2019-02-26 11:40:43 +01:00
parent 6c9c9aedf0
commit 52ad552129
2 changed files with 9 additions and 1 deletions

View File

@ -153,5 +153,5 @@ rabbitmq_disable_non_tls_listeners: False
#
rabbitmq_policies:
- name: "HA"
pattern: '^(?!amq\.).*'
pattern: '^(?!(amq\.)|(.*_fanout_)|(reply_)).*'
tags: "ha-mode=all"

View File

@ -0,0 +1,8 @@
---
upgrade:
- |
The default queue policy has changed to ``^(?!(amq\.)|(.*_fanout_)|(reply_)).*``
instead of ``^(?!amq\.).*`` for efficiency.
The new HA policy excludes reply queues (these queues have a single consumer and TTL policy),
fanout queues (they have the TTL policy) and
amq queues (they are auto-delete queues, with a single consumer).