[rabbitmq-discuss] How to achieve HA consumers?
Matthias Radestock
matthias at rabbitmq.com
Wed Sep 5 08:48:09 BST 2012
Johnson,
On 05/09/12 05:32, johnson wrote:
> The channel.queueDeclarePassive method returns the consumer count of
> the specified channel,
No it doesn't. queue.declarePassive returns the total number of active
consumers of the queue at that point in time. Regardless of what
connection/channel they were created on.
That should be pretty clear from the docs -
http://www.rabbitmq.com/amqp-0-9-1-reference.html#queue.declare-ok.consumer-count
- which make no mention of the count being connection/channel specific.
> So if I start two consumers [...] in two different machines [...] the
> channel.queueDeclarePassive method always return the consumer count
> == 1, not 2.
I am not sure what you are expecting to see here. If you start two
consumers, the count they will see prior to consuming will be 0 or 1.
As mentioned "You'd need to be mindful of races when consumers start
up.", i.e. if both consumers start up near simultaneously then they will
both see a count of 0.
> I also try to find a API that can retrieve the existing connection or
> channel. Then the second consumer can reuse the connection or channel
> the first consumer created. But it seems no such APIs.
A connection represents a point-to-point TCP connection. You can't
"reuse" that from a third point.
Regards,
Matthias.
More information about the rabbitmq-discuss
mailing list