Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Under what circumstances do ZeroMQ sockets drop or fail to deliver messages?

Tags:

zeromq

Is there some sort of a specification or other explanation that describes the normal cases where you can expect a message sent on a ZeroMQ socket to not be received by ( all ) the listening processes, for each communication type?

For example I have an experimental program which basically assumes that all subscribers to a PUB socket receive all messages sent on that socket ( after an initialization handshake ). I would like to understand the cases where that assumption may be false. Thanks, and sorry if this has already been asked.

like image 760
Aaron Watters Avatar asked Mar 28 '12 14:03

Aaron Watters


People also ask

Does ZeroMQ guarantee delivery?

ZeroMQ guarantees to deliver all the parts (one or more) for a message, or none of them. This allows you to send or receive a list of frames as a single on-the-wire message. A message (single or multipart) must fit in memory.

Does ZeroMQ use sockets?

ZeroMQ patterns are implemented by pairs of sockets with matching types. The built-in core ZeroMQ patterns are: Request-reply, which connects a set of clients to a set of services. This is a remote procedure call and task distribution pattern.

What is ZeroMQ used for?

ZeroMQ provides a whole slew of language APIs which run on most operating systems and allows you to communicate seamlessly between all sorts of programs. It also provides a collection of patterns, such as request-reply and publish-subscribe which assist you in creating and structuring your network.

How do I know if my ZMQ socket is connected?

No, there's no method in the API to check if a socket is connected. ZeroMq abstracts the network; client and server connections are completely transparent to the peer making the connection.


1 Answers

The chart in this image is a good guide to when zmq sockets drop messages: https://raw.github.com/imatix/zguide/master/images/fig25.png

For more information, you might want to read http://zguide.zeromq.org/py:all#Missing-Message-Problem-Solver

like image 60
tapan Avatar answered Sep 21 '22 15:09

tapan