[rabbitmq-discuss] RabbitMQ QUEUE MESSAGES

Jesper Louis Andersen jesper.louis.andersen at gmail.com
Fri Jul 12 15:01:51 BST 2013


On Thu, Jul 11, 2013 at 5:40 PM, Michael Klishin <mklishin at gopivotal.com>wrote:

> O(1) appends and other queue characteristics in CS literature do not take
> into account
> the fact that your consumers can fall well behind your producers and RAM
> is a limited resource.
> Both are purely operational issues.
>

In fact it kinda does take disk into account. O(1) just means a constant
disk overhead. It does not say that the overhead of pulling out the next
message from the queue may be 5 seconds. Just that it is constant and has
an upper bound of some unknown value. The fact that the average case is
sub-millisecond delivery is not really addressed by algorithmic complexity.

Most functional languages have queues which are *amortized* O(1) to boot.
That is, you do not have O(1) guarantee unless you amortize over several
operations.

I think the key problem here has more to do with queue theory and
backpressure than it has to do with raw throughput of the system.


-- 
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130712/4775d07b/attachment.htm>


More information about the rabbitmq-discuss mailing list