[zeromq-dev] RPC design pattern

Martin Sustrik sustrik at 250bpm.com
Fri Apr 30 06:12:11 CEST 2010

Hi Joe,

> Does either model offer any significant advantages over the other in
> terms of using 0MQ as a RPC transport layer? I have seen RPC
> implemented over direct socket connections and also implemented in
> terms of a shared queue on top of an enterprise-y MQ product.
> I see 0MQ as falling somewhere in between those two paradigms

0MQ is definitely meant for end-to-end communication. If there are 
middle nodes, they are accidental and should be transparent to the end 
user. Think of TCP. It appears as end-to-end service, however, the 
packets can be transported via multiple network nodes.

It's not yet completely the case with 0MQ, however, that's the general 
direction. Keeping this principle in mind will help you with your work 
on location service.

> I'd be
> interested to hear thoughts on pros/cons of either model.  Would a
> general purpose RPC service container be advised to support both?

The pro of brokerless model is performance. Lower latency and higher 
bandwidth available. Also, there's no single bottleneck.

The pro of box in the middle is that there's a single address to connect to.


More information about the zeromq-dev mailing list