[rabbitmq-discuss] Missing features making me look at moving off RabbitMQ

Matthias Radestock matthias at rabbitmq.com
Mon Nov 1 18:56:44 GMT 2010


just to pick up on one point ...

On 01/11/10 18:38, Christian Legnitto wrote:
> On Oct 29, 2010, at 6:46 PM, Matthias Radestock wrote:
>> RabbitMQ has several ways of dealing with consumers that go away: -
>> exclusive queues - go away when the connection dies
> I want consumers to be able to get what they missed while away. For
> example, if someone is running a tool on a laptop or their personal
> server goes down, I want the messages missed to persist.
> Basically I want to give a reasonable expectation to
> consumers, something like "If you do not actively consume messages
> the most that will be kept are the latest 20,000. If the system isn't
> resource constrained we may store more, but you can't rely on it." I
> also want to be able to lift/modify this restriction for certain
> critical consumers.

Both queue leases and per-queue message ttl give you that *except* the 
eviction criteria is time based rather than count based. A time based 
criteria seems preferable from the user's point of view, e.g. they know 
that if they connect at least every n seconds/days and drain their 
queues then they will not miss anything.

 From a server-admin's point of view a count-based eviction policy may 
seem preferable, but it really only manages resources in a sensible way 
if message sizes and the amount of sharing (i.e. the fact that the same 
message residing in multiple queues will be referred to *by reference* 
in both the memory and disk based storage) is predictable and constant. 
In many applications that is not the case.



More information about the rabbitmq-discuss mailing list