[zeromq-dev] Considering ZeroMQ for carrier grade AAA services

Pieter Hintjens ph at imatix.com
Mon Nov 8 14:24:04 CET 2010

On Mon, Nov 8, 2010 at 2:10 PM, Michael Andersen
<mandersen at broadbandsystems.eu>

> We are considering using ZeroMQ for in-process thread management and as
> communication layer between network distributed processes in our new
> product for AAA services in internet provider environments.
> ...
> In this context I have two important questions I would like to post to
> the community:
> 1. Do you have any knowledge or ideas about how ZeroMQ would scale on
> massively parallel architectures such as Sun Coolthreads based servers?

I don't think we've ever had reports of how ZeroMQ operates on such
servers but presumably it will work nicely, given the low CPU cost per
task and cheap concurrency that ZeroMQ gives.  It's something to test.

> 2. How well does ZeroMQ handle when TCP connections are no longer as
> reliable as they are supposed to according to the standards? - as an
> example: how would ZeroMQ handle the situation when a _seemingly_ valid
> TCP connection is not returning an expected response?
>  - are there cases where ZeroMQ would wait silently?
>  - is there a way to make ZeroMQ send regular keep-alive through its
> TCP connections?

In some ways ZeroMQ is nicely robust, e.g. it will automatically
reconnect nodes when the underlying connection breaks and is
reestablished.  On the other hand it does not do heartbeating or
keep-alives and so is vulnerable to TCP connections that die waiting
for TCP to timeout (the classic example is simply disconnecting a
cable somewhere).

We tend to build heartbeating on top of ZeroMQ but it's something that
eventually could be nice to have inside the transport layer.

Pieter Hintjens

More information about the zeromq-dev mailing list