[zeromq-dev] Notes from a hackathon

Ed Griffiths edgrif at sanger.ac.uk
Wed Feb 4 16:21:21 CET 2015

Hi Pieter and others,

Just to give some information about why we chose zeromq for our project...

We have a project where two programs need to communicate with each other to 
allow them to operate seemlessly as one from the point of view of the user. To 
do this we have requests and replies flowing between the two with the 
requirement that each request must be serviced and replied to before the next 
request can be handled. Requests and replies flow from either side, the two 
programs are equal peers.

We had one mechanism that was quite hard to implement and a colleague suggested 
we give zeromq a try. In particular he was keen on REQ-REP as it would relieve 
us of the need to check that messages were getting though and would help us 
enforce our strict "one request at a time" protocol.

Here are the main reasons we chose to try zeromq:

1) language independance, for good solid reasons one of our programs is in C, 
the other in perl.

2) simplicity of interface, zeromq provided out of the box a REQ-REP protocol.

3) robustness, we felt we could rely on zeromq to the extent that we would not 
need to implement the kind of acknowledging of every single message in the way 
that TCP/IP does under the covers.

4) Multipart Messages, we used this facility to very easily partition our 
messages into a header giving type of request, request id, retry attempt and 
time of request and a body which was the actual application level of request.

As REQ-REP and Multipart Messages are under discussion I hope this will be 

While I understand the need to move some things out of zeromq if there is no 
replacement in the form of some kind of "layer" above zeromq then this may deter 
some from using this excellent library.

thanks Ed
| Ed Griffiths, Acedb/ZMap development, Computational Genomics Group,    |
|  The Sulston Building, Sanger Institute, Wellcome Trust Genome Campus, |
|  Hinxton, Cambridge CB10 1HH                                           |
|                                                                        |
| email: edgrif at sanger.ac.uk  Tel: +44-1223-496844  Fax: +44-1223-494919 |

 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 

More information about the zeromq-dev mailing list