I am answering some of my own questions here... I have implemented a first version of the butterfly tutorial in ZMQ 2.0. I am using ZMQ_UPSTREAM and ZMQ_DOWNSTREAM to connect all processes, and it works fine, save for one thing: the load balancing. I am launching two instances of component1 and two instances of component2 (in fact, component1 and component2 now are identical, and only differ in their command line parameters, but I digress).
I added as a command line parameter the name of the instance for each component, and what I am seeing is that only the first instance launched is receiving messages; the second instance never does anything. Therefore, the overall throughput never changes. More details: 1. send_requests does a bind to tcp://127.0.0.1:5009 (see step 5) and a connect to tcp://127.0.0.1:5001. 2. component1 does a bind to tcp://127.0.0.1:5001 and a connect to tcp://127.0.0.1:5002. 3. zmq_streamer is configured thusly: <streamer> <in> <bind addr = "tcp://127.0.0.1:5002"/> </in> <out> <connect addr = "tcp://127.0.0.1:5003"/> </out> </streamer> 4. component2 does a bind to tcp://127.0.0.1:5003 and a connect to tcp://127.0.0.1:5004. 5. receive_replies does a bind to tcp://127.0.0.1:5004 and a connect to tcp://127.0.0.1:5009 (this last one is to send the final sync message). Again, messages do flow but only through the first instances of component1 and component2. Do I have to do anything special in order to ensure that every process that does a send to an endpoint, does it in a manner that it will be load-balanced across all processes that are bound to that endpoint? -- Gonzalo Diethelm ----------------------------------------- Declaración de confidencialidad: Este Mensaje esta destinado para el uso de la o las personas o entidades a quien ha sido dirigido y puede contener información reservada y confidencial que no puede ser divulgada, difundida, ni aprovechada en forma alguna. El uso no autorizado de la información contenida en este correo podrá ser sancionado de conformidad con la ley chilena. Si usted ha recibido este correo electrónico por error, le pedimos eliminarlo junto con los archivos adjuntos y avisar inmediatamente al remitente, respondiendo este mensaje. "Before printing this e-mail think if is really necesary". Disclosure: This Message is to be used by the individual, individuals or entities that it is addressed to and may include private and confidential information that may not be disclosed, made public nor used in any way at all. Unauthorized use of the information in this electronic mail message may be subject to the penalties set forth by Chilean law. If you have received this electronic mail message in error, we ask you to destroy the message and its attached file(s) and to immediately notify the sender by answering this message. _______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev