[zeromq-dev] PUB/SUB with multiple publishers
Dmitri Toubelis
dmitri.toubelis at alkeron.com
Fri Jul 16 21:26:14 CEST 2010
Thanks Matt,
I will try your suggestion. There is not much documentation on devices, so
it looks like I need to dig into the code.
What I'm trying to achieve here is N-way communication scheme, something
analogous to direct exchange in AMQP. The way I was thinking was to create N
nodes that could publish to the same bus and have subscribers, that only
receive messages directed to them. Each node is both publisher and
subscriber, it receives message from the bus and depending on workflow sends
it to other subscribers using proper subscription key. So, I'm expecting to
have 4+ publishers on the bus and equal number of subscribers. It is
straightforward to do using AMQP but I'm still not sure what is the proper
ZMQ way for this.
Dmitri
________________________________
From: zeromq-dev-bounces at lists.zeromq.org
[mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Matt Weinstein
Sent: July 16, 2010 2:56 PM
To: 0MQ development list
Subject: Re: [zeromq-dev] PUB/SUB with multiple publishers
I think your PUB from the second publisher went to the first publisher at
the other end of the pipe ?
You might try using a device() to connect two sets of sockets back-to-back,
just like the server example.
I believe you'd do something like
create "inproc://pubsource"
device:
bind as a SUB
subscribe to all ("")
publishers:
connect as a PUB
on the other side:
device:
bind as a PUB
subscribers
connect as a SUB
subscribe to all ("")
I think the "one way" device can be used as a model, you're only going one
way :-)
On Jul 16, 2010, at 2:06 PM, Dmitri Toubelis wrote:
I call bind only once. The second time I use connect and it returns
0.
Dmitri Toubelis
Solution Architect / Director @ Alkeron Multimedia
cell: +1-647-400-3876
email: dmitri.toubelis at alkeron.com
<mailto:dmitri.toubelis at alkeron.com>
________________________________
From: zeromq-dev-bounces at lists.zeromq.org
[mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Chuck Remes
Sent: July 16, 2010 1:48 PM
To: 0MQ development list
Subject: Re: [zeromq-dev] PUB/SUB with multiple publishers
On Jul 16, 2010, at 12:34 PM, Dmitri Toubelis wrote:
I have a scenario when I need to use PUB/SUB
scheme with multiple publishers. Is it possible to do with "inproc"
transport?
Here is what I tried:
- create PUB socket and bind it to "inproc://pipe" endpoint
- create another PUB socket and connect it to the same
"inproc://pipe" endpoint
- create SUB socket for each subscriber and connect them to
thre "inproc://pipe" endpoint.
- publish message using second publisher.
I'm getting no error, but message is not getting delivered
to subscribers. Am I doing something wrong?
I don't think it is possible to have multiple sockets bind to the
same endpoint. Are you certain that the result code from calling bind is 0?
If it is, then this is likely a bug and should be reported (with sample
code).
Alternately, if you are running this on Windows then I don't think
inproc or ipc transports are supported on that platform. That should also
error out (if you are on Windows).
cr
_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
More information about the zeromq-dev
mailing list