[zeromq-dev] 0MQ/2.0 - alpha version available

Aamir M intuitionist at gmail.com
Fri Sep 11 04:03:18 CEST 2009

I had a few questions about v2.0:

1a. WIll the load-balancing exchange functionality be preserved in 0MQ 2.0?

Personally I would like to be able to specify a list of IP addresses to
which messages are sent in round-robin fashion. This way we can send
load-balanced messages without the receivers having to know the IP address
of the sender. When sending a load-balanced message it  would also be quite
useful to know which IP address the 0MQ load-balancer is sending the message

1b. If load-balancing is supported, how would it work with the new
bidirectional messaging feature?

2. Will the bidirectional request reply mechanism be assynchronous?  Or will
it be similar to RPC (remote procedure call)?

3. When receiving a message, will it be possible to know which IP address
the message originated from?

4. Suppose that I do not know in advance which IP address a message needs to
be sent to. In other words, the destination IP address is a feature of the
message itself. Would the correct way be to connect a socket to the IP
address, send a message and then disconnect the socket? Would the repeated
connecting and disconnecting create a significant overhead?

5. In the event that a connection is disconnected, will it be possible to
see the IP address which caused the error?

6. Will 0MQ 2.0 support process-scope messaging as 0MQ 1.0 does? If so, how
will symbolic name resolution work in this case (presumably it would not
depend on network IP addresses or DNS hostnames)?


On Wed, Sep 9, 2009 at 8:55 AM, Martin Sustrik <sustrik at fastmq.com> wrote:

> Hi all,
> Alpha version of 0MQ/2.0 is finally available:
> http://www.zeromq.org/area:download-v20-alpha1
> We are moving to the tighter release cycle, with alpha, beta and release
> candidate stages. You should be aware that alpha versions are
> functionally incomplete and possibly buggy. However, they allow you to
> catch with the progress early on and provide feedback to the developers.
> The main improvement in 0MQ/2.0 is socket-like API, much simpler than
> 0MQ/1.0 AMQP-like API. Here's an example how to send and receive a
> message in C++:
> zmq::context_t ctx (1, 1);
> zmq::socket_t s (ctx, ZMQ_REQ);
> s.bind ("eth0:5555");
> zmq::message_t msg (3);
> memcpy (msg.data (), "ABC", 3);
> s.send (msg);
> s.recv (&msg);
> Additionally, 0MQ/2.0 eliminates the need for zmq_server thus getting
> rid of the only single point of failure in the system.
> Also, fail-safe was replaced by reporting errors via standard POSIX errnos.
> As for now 0MQ/2.0 works on Linux and Windows. It can be used from C and
> C++, Java, Python and Ruby.
> Enjoy!
> Martin
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20090910/4bcedfef/attachment.htm>

More information about the zeromq-dev mailing list