[rabbitmq-discuss] RabbitMQ .NET Client. Questions aboutQueueingBasicConsumer

Mike Hadlow mike.hadlow at 15below.com
Thu Jul 7 12:00:58 BST 2011


Hi Simone,

I agree. You can either have flexibility or you can have simplicity. My aim is to provide an 'opinionated' API that forces you to use RabbitMQ in a very specific way. Of course this won't be for everyone, but for a large number of people it will give them a pre-built toolkit that they can just start using with a couple of lines of code.

Having said that I don't see a problem with providing pluggable strategies for things like durability and error handling. EasyNetQ could provide sensible defaults out-of-the-box that would allow a user to get up and running fast, but then have some configuration that allows you to choose throughput over durability and different error handling options.

Mike


-----Original Message-----
From: Busoli, Simone [mailto:Simone.Busoli at ferrari.com]
Sent: 07 July 2011 10:58
To: Mike Hadlow; Emile Joubert
Cc: rabbitmq-discuss at lists.rabbitmq.com
Subject: RE: [rabbitmq-discuss] RabbitMQ .NET Client. Questions aboutQueueingBasicConsumer

Hi Mike, building a high level API on top of RabbitMQ is something I've been thinking about as well, and I looked at your OS project too. The issue I've been facing with every abstraction I could think of is that somewhere you have to make some assumptions - for example about durability, exchange types, how you handle errors and so on - therefore I think it's quite hard to come up with something which works in most scenarios. The same consideration applies to the supplied WCF bindings as well.

_______________________________________________________________
Simone Busoli
Direzione risorse umane e segreteria generale - Sistemi informativi gestione sportiva Collaboratore Ferrari S.p.A.     Via Ascari 55/57, 41053, Maranello (MO); Italy T (+39) 0536-949.850 E simone.busoli at ferrari.com  www.ferrari.com

-----Original Message-----
From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Mike Hadlow
Sent: Thursday, July 07, 2011 11:19 AM
To: Emile Joubert
Cc: rabbitmq-discuss at lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] RabbitMQ .NET Client. Questions about QueueingBasicConsumer

Thanks Emile, Simone.

I'll check out the channel QoS. The main reason I'm writing my own wrapper around QueueingBasicConsumer is because I'm multiplexing multiple subscriptions on a single consumer loop. I want the user of the API to simply call:

Subscribe<MyMessage>(MsgHandler);

And then have the API handle all the details :)

Mike

-----Original Message-----
From: Emile Joubert [mailto:emile at rabbitmq.com]
Sent: 07 July 2011 09:54
To: Mike Hadlow
Cc: Simone Busoli; rabbitmq-discuss at lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] RabbitMQ .NET Client. Questions about QueueingBasicConsumer


Hi Mike,

On 07/07/11 09:10, Simone Busoli wrote:
> 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

As Simone says, setting QoS on the channel will prevent a consumer from being flooded by messages.

You may also want to look at the Subscription class, another wrapper around QueueingBasicConsumer:

http://hg.rabbitmq.com/rabbitmq-dotnet-client/file/default/projects/client/RabbitMQ.Client/src/client/messagepatterns/Subscription.cs


-Emile

 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.
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss at lists.rabbitmq.com
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

_________________________________________________________________________________________________________________
Questo messaggio è da intendersi esclusivamente ad uso del destinatario e può contenere informazioni che sono di natura privilegiata, confidenziale o non divulgabile secondo le leggi vigenti. Se il lettore del presente messaggio non è il destinatario designato, o il dipendente/agente responsabile per la consegna del messaggio al destinatario designato, si informa che ogni disseminazione, distribuzione o copiatura di questa comunicazione è strettamente proibita anche ai sensi del decreto legislativo 196/03 . Se avete ricevuto questo messaggio per errore, vi preghiamo di notificarcelo immediatamente a mezzo e-mail di risposta e successivamente di procedere alla cancellazione di questa e-mail e relativi allegati dal vostro sistema.
_________________________________________________________________________________________________________________
This message is intended only for the use of the addressee and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify us immediately by return e-mail and delete this e-mail and all attachments from your system.
_________________________________________________________________________________________________________________


 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.


More information about the rabbitmq-discuss mailing list