[zeromq-dev] is 0MQ guaranteed, in-order delivery?
Martin Sustrik
sustrik at fastmq.com
Fri May 15 09:46:41 CEST 2009
Hi Aamir,
> Is it accurate to say that 0MQ provides guaranteed delivery when a
> message is sent from an exchange to a queue, even through network
> disruptions?
The term "guaranteed delivery" is kind of blurry. People would probably
expect a system with database storage for messages, clustering support
for high availability and failover and ability to join message passing
to XA distributed transactions. This being the definition, 0MQ doesn't
provide guaranteed delivery.
Instead it provides "good enough delivery" that's sufficient for market
data. This basically means that you may loose messages that are "on the
wire" in case of component failure, network outage or power outage,
however, once the problem is fixed you'll be notified that there may be
messages missing.
> The only time the messages will fail to deliver is if the
> computer hosting exchange runs out of memory?
Actually, exceeding the memory limit is not a problem. There's on-disk
offload feature that allows you to swap the messages in the queue to the
disk if memory limit is hit. The swap itself is able to store hundreds
of gigabytes of data.
> Also, is it accurate to say that 0MQ guarantees that messages will be
> received by the queue in the same order in which they were sent to the
> exchange?
Yes, that's accurate.
Martin
More information about the zeromq-dev
mailing list