[rabbitmq-discuss] Scaling Throughput with Highly Available Queues
fearsome.lucidity at gmail.com
Wed Mar 20 17:37:07 GMT 2013
On Wed, Mar 20, 2013 at 5:00 AM, <
rabbitmq-discuss-request at lists.rabbitmq.com> wrote:
> > 2) Ensure that the master queue processes are spread out evenly across
> > the available nodes.
> ...in combination with ensuring that there are no more mirrors than you
> actually need in order to get the desired level of redundancy. I.e. use
> the 'exactly' ha-mode rather than 'all'. Otherwise you are wasting
> valuable resources on keeping superfluous slaves up to date.
It would be useful to automate the intelligent placement of queue mirrors
for such multi-queue set ups so that related HA queues are spread across
nodes in the cluster while minimizing their overlap.
You could add an argument to queue declaration that is a queue meta-name.
Related queues would share the same meta-name. E.g. if you wanted to
created HA queues using the "exactly" ha-mode named incoming1 and
incoming2, you could use a meta-name of "incoming". RMQ would then attempt
to place the mirrors on different nodes. E.g. in a four node cluster with
exactly == 2, it would place one mirrors on each node without any overlap.
As it is, I don't believe exactly provides any guarantee as to where
mirrors will be located, so the mirrors of your two queues could be placed
on the same nodes creating hot spots.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss