[rabbitmq-discuss] Missing features making me look at moving off RabbitMQ
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