[zeromq-dev] How to scale?

ntupel ntupel at googlemail.com
Tue Feb 24 13:19:44 CET 2009

Dear 0MQ list,

I have a question about how to scale with 0MQ. Suppose I have a node N1
which serves m clients and sends messages via 0MQ to another node N2
which does some business logic and sends messages back to N1 who in turn
speaks with its clients.

>From what I understood, N1 and N2 would both declare an exchange and a
queue for bidirectional communication.

Now lets say the load on N1 becomes too high and another node N3 is
added, behaving the same as N1, i.e. sends to N2 and talks to its
clients. But N2 doesn't know about this added node N3 and I wonder how
to setup 0MQ networks in a cluster-like manner in order to scale

Also I have read the following comment about 0MQ:

"The real beauty of ZeroMQ is the way it lets developers build fast
multithreaded applications without ever worrying about how to scale -
everything works as asynchronous messages, between processes on one
machine, or processes distributed across wide networks." [1]


"ØMQ is fully distributed: no central servers to crash, millions of WAN
and LAN nodes." [2]

This sounds quite a bit like Erlang-style concurrency. Does that mean it
would actually make more sense to break an application into smaller
parts and use 0MQ for this inter-process communication?

Many thanks,

[1] http://news.ycombinator.com/item?id=258396
[2] http://www.zeromq.org/

More information about the zeromq-dev mailing list