[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
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss