[rabbitmq-discuss] Why is the queue created on the consumer's side?
Bamboula
aloroi18 at gmail.com
Mon Feb 13 11:09:33 GMT 2012
thanks a lot Alexandru, you did help me!
Alexandru Scvorţov wrote:
>
> Hi,
>
>> I've understood from the tutorials that the producer doesn't send any
>> message directly to a queue, and that quite often doesn't even know if a
>> message will be delivered to a queue.
>
> Correct. It can use mandatory and immediate delivery modes to check if
> the message has reached any queues, though.
>
>> Does queue declaration means queue creation? If yes, I think that it is
>> quite strange to create a queue on the consumer's side in real
>> applications.If no, where is the created?
>
> Queue declaration is an idempotent queue-creation. It's more like an
> assertion that the queue exists (after the queue.declare, you *know* the
> queue exists). So, you can declare a queue multiple times, but it will
> only be created once.
>
> Who should declare the queue depends from application to application.
> For instance, in a work-queue scenario (where a producer enqueues tasks
> for workers to execute), the producer should declare the queue (so that
> tasks are queued even if there aren't any active workers). In many
> pub-sub scenarios, where consumers subscribe to events from a producer
> (and old events are not interesting), the consumers would declare queues
> (probably, one each). In many other cases, both the consumer and the
> producer would declare the queue (the producer to ensure that messages
> aren't lost, and the consumer so that it can start consuming from the
> queue even if the producer hasn't come online to declare the queue yet).
>
> Hope this helps.
>
> Cheers,
> Alex
>
> On Sun, Feb 12, 2012 at 05:32:36AM -0800, Bamboula wrote:
>>
>> Hello all,
>>
>> I've understood from the tutorials that the producer doesn't send any
>> message directly to a queue, and that quite often doesn't even know if a
>> message will be delivered to a queue.
>>
>> In the third tutorial (Publisher/Subscriber), the queue is declared on
>> the
>> consumer's side. I think that's for simplicity reasons in this particular
>> example (since the number of consumers is equal to the number of queues).
>> Does queue declaration means queue creation? If yes, I think that it is
>> quite strange to create a queue on the consumer's side in real
>> applications.If no, where is the created?
>>
>> I would appreciate if someone could give me some information.
>>
>> Thanks a lot,
>>
>> Bamboula
>> --
>> View this message in context:
>> http://old.nabble.com/Why-is-the-queue-created-on-the-consumer%27s-side--tp33309859p33309859.html
>> Sent from the RabbitMQ mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
--
View this message in context: http://old.nabble.com/Why-is-the-queue-created-on-the-consumer%27s-side--tp33309859p33314080.html
Sent from the RabbitMQ mailing list archive at Nabble.com.
More information about the rabbitmq-discuss
mailing list