[openstack-dev] [Fuel][Oslo][RabbitMQ][Shovel] Deprecate mirrored queues from HA AMQP cluster scenario
bdobrelia at mirantis.com
Mon Jun 8 14:24:44 UTC 2015
> RabbitMQ team member here.
Thank you for a quick response, Michael!
> Neither Shovel nor Federation will replace mirroring. Shovel moves messages
> from a queue to an exchange (within a single node or between remote nodes and/or clusters).
> It doesn't replicate anything.
Yes, the idea was to not just replace, but redesign OpenStack libs to
use cluster-less messaging as well. It should assume that some messages
from RPC conversations may be lost. And that messages aren't synced
between different AMQP nodes specified in the config of OpenStack
> Federation has two parts to it:
> * Queue federation: no replicate, distributes messages from a single logical queue
> between N nodes or clusters, when there are no local consumers to consume them.
> * Exchange federation replicates a stream of messages going through an exchange.
> As messages are consumed upstream, downstream has no way of knowing about it.
> The right thing to do here is introduce timeouts to rabbitmqctl, which was 99% finished
> in the past but some RabbitMQ team members felt it should produce more detailed
> error messages, which extended the scope of the change significantly.
> While Mnesia indeed needs to be replaced to introduce AP (as in CAP) style mirroring,
> the issue you're bringing up here has nothing to do with Mnesia.
> Mnesia is not used by rabbitmqctl, and it is not used to store messages.
> It's a rabbitmqctl
> issue, and potentially a hint that you may want to reduce net_ticktime value (say, to 5-10 seconds)
> to make queue master unavailability detected faster.
Thank you, I updated the bug comments . We will test this option as well.
> 1. http://www.rabbitmq.com/nettick.html
> Staff Software Engineer, Pivotal/RabbitMQ
More information about the OpenStack-dev