[rabbitmq-discuss] persistence

Lars Bachmann lars.bachmann at s2002.tu-chemnitz.de
Wed May 14 09:41:49 BST 2008


since some days Im trying to learn and understand rabbitmq. I think  
the decoupling between routing information and stored data very nice  
and flexible. I was able to configure the typical pub/sub scenario  
with one publisher and many subsriber. The publisher sends the  
messages to the exchange and the exchanges routes the messages to  
several queues. On each queue one subscriber is listening. If i send  
the messages transient without storing them to memory or harddisk  
everything works how it supposed to be. (each subsriber receives all  
messages). If i switch to persistent messages some problems occur and  
i dont know why.

1. if my producer sends only a small amount of messages (lets say  
5000), then all queues receive all messages persistent and everything  
is ok
2. if my producer sends a larger amount of messages (lets say 100000),  
then some strange behaviour appears. All queues receive only some of  
this messages. Sometimes 80% sometimes 50% sometimes even only 10% =>  
i couldnt discover any pattern, it seemed to be just random

So Im wondering why this happens. Could it be that there are too many  
messages to persist and the broker cant handle it because of i dont  
know too less memory or some like this ?

Another question: Lets say we have 5 subscriber (each listen to his  
"own" queue) in the pub / sub scenario and we want persistent message  
storing. Does this mean that each messages is stored 5 times ? (and  
for n subscribers n times which would cause a big overhead)

Or maybe Im doing something completly wrong in realising a durable  
pub/sub scenario where every subsriber must receive all messages.

Thank you

best regards


More information about the rabbitmq-discuss mailing list