[rabbitmq-discuss] RabbitMQ .NET Client. Questions about QueueingBasicConsumer

Simone Busoli simone.busoli at gmail.com
Thu Jul 7 09:10:28 BST 2011


Hi Mike, I'm quite new to RabbitMQ but I think there are at least a couple
of things you can look into. One is QoS, which regulates how many messages a
consumer is being pushed in advance, setting it to 1 should mean that no
messages are sent to it before it can consume the one it has on its queue.
Second, you can look at ACKs, which let you cope with the scenario you are
describing, since failing to ack messages implies that they stay on the
queue and can be recovered later.
On Jul 7, 2011 9:58 AM, "Mike Hadlow" <mike.hadlow at 15below.com> wrote:
> Hi All,
>
> I'm writing a high-level "opinionated" .NET API on top of the supplied
RabbitMQ .NET client that I've named EasyNetQ. It's on GitHub here:
>
> https://github.com/mikehadlow/EasyNetQ
>
> Currently I'm using the QueueingBasicConsumer and spinning up a single
thread that sits in a loop doing SharedQueue.Dequeue(), see the code here:
>
>
https://github.com/mikehadlow/EasyNetQ/blob/master/EasyNetQ/QueueingConsumerFactory.cs
>
> My question is about the scenario where messages are being pushed onto the
queue by QueueingBasicConsumer faster than my client callbacks can handle
them. Surely messages will build up in the SharedQueue until we run out of
memory, crash, and lose all the queued messages? It would be much better if
messages were pulled from RabbitMQ only as fast as the consumers can process
them.
>
> Does anyone have any experience with this scenario? What is the
recommended subscription pattern? Should I be using BasicGet instead?
>
> Many thanks
> Mike
>
> 15below Limited: Company registered in England and Wales No 3945289
> Registered Office: Lyndean House, 43-46 Queens Road, Brighton BN1 3XB,
United Kingdom
>
> 15below Australia Pty Limited: ABN 25 132 716 379
> Level 50, 120 Collins Street, Melbourne, Victoria 3000, Australia
>
> Please think about the environment before printing this email.
>
> ************************************************************************
> This email and any attachments may be confidential and/or legally
privileged and are solely for the use of the intended recipient. If you have
received this email in error please contact the sender. Any views or
opinions expressed within this e-mail are solely those of the sender, and do
not necessarily represent those of 15below unless otherwise specifically
stated. Although 15below has taken every reasonable precaution to ensure
that any attachment to this e-mail has been checked for viruses, it is
strongly recommended that you carry out your own virus check before opening
any attachment, as we cannot accept liability for any damage sustained as a
result of software virus infection.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110707/1e6c32a3/attachment.htm>


More information about the rabbitmq-discuss mailing list