[zeromq-dev] Thinking out loud ...

Pieter Hintjens ph at imatix.com
Tue Jun 28 17:21:53 CEST 2011

On Tue, Jun 28, 2011 at 9:50 AM, Henry Baragar
<Henry.Baragar at instantiated.ca> wrote:

> One of my questions was: why are there so many questions about routing on
> the mailing list and why is more than two-thirds of the Guide devoted to
> discussing how to to implement, in application code, custom routing for
> common patterns? I was exploring for an answer to this question.

Why does the Guide cover building custom patterns? Because there are
literally hundreds of these, and it's unclear today which should be
solved in the core, and which built on top. The cost of building
patterns into libzmq is very high. The cost of building them on top is
quite low. Thus, one can experiment in user space.  ROUTER forms the
core of most custom patterns, by definition.

The healthy process is that we experiment cheaply, discover what works
well, then move that knowledge into the core slowly, where it becomes
available to all, but where it is also much harder to change.

Classic example would be request-reply reliability, which the Guide
explores in several patterns and which Martin's currently moving into
libzmq in small steps (of course for this process to work well, we
need to be learning from those custom patterns).

IMO we'll see a number of other pattern 'helpers' like heartbeating
and flow control that move from user space into libzmq core over time.


More information about the zeromq-dev mailing list