[rabbitmq-discuss] Question on Rabbit's Message Copying
tonygarnockjones+rabbitmq at gmail.com
Tue Dec 4 14:50:50 GMT 2012
Messages are not explicitly copied - Erlang's message-passing is used to
distribute "copies" of each AMQP message to the queue processes it is
destined for. Since Erlang terms are immutable, the underlying
memory-management system is free to use whichever strategy works best.
Sometimes that will be many pointers to a shared value; other times it will
be separate copies. I don't know which strategy Erlang chooses at present:
you will have to ask the Erlang mailing list or do some experiments of your
own. Hope this helps!
On 4 December 2012 01:40, Ashwin Raghav <ashwinraghav at gmail.com> wrote:
> Hi tony,
> I had a questions about how(whether) rabbit internally copies a message
> from an exchange to a queue.
> I have read the documentation that says "Exchanges copy messages to queues
> using rules called bindings".
> I was wondering whether this is a logical copy or an actual full-on copy.
> I ask because I was posed with a question recently on a project that I work
> on. Why are you physically copying the same message to so many queues?
> Would something like a reference count implementation with just a single
> copy of the message not suffice?
> Kindly clarify.
> Ashwin Raghav Mohan Ganesh
> Tony Garnock-Jones
> tonygarnockjones at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss