[zeromq-dev] Forwarding ROUTER to PUB
Michael Scofield
bayinamine at gmail.com
Sat Jan 25 10:55:51 CET 2014
I think this may be achieved by the following arch:
1. Establish 2 ROUTER sockets, router #1 is responsible for receiving
incoming requests, and router #2 is connected to router #1;
2. Establish a DEALER socket per thread, and connect to router #2. And
upon connected, tell router #2 its interested "topic".
3. Whenever a request comes in, router #1 just send it to router #2.
Router #2 send the message to different thread through the DEALER socket
according to the DEALER socket's interested "topic" and the message's type.
I believe the above arch is some pattern in the guide (however, I just
can't recall it).
On 2014?01?16? 23:54, Lindley French wrote:
> A problem I was wrestling with was, how do I deal with a TCP
> connection where messages of different types may arrive, and may need
> to be dealt with in different threads? The TCP socket can't be touched
> directly by multiple threads, of course. The obvious solution was to
> immediately forward messages arriving on the TCP socket to an inproc
> socket.
>
> I then took it one step further: why not make that inproc socket a PUB
> socket and make the first part of each message be a topic identifier,
> so that whichever thread knows how to deal with a particular message
> can just subscribe to it and ignore the rest?
>
> That's a great design, right up until I try to do it with the TCP
> socket being a ROUTER. Now, no matter what the first part of the sent
> message is, the identity will end up being the first part on the
> receiving end. The PUB/SUB won't work without some tweaking.
>
> I don't want to just drop the identity; that's useful information. I
> could swap the first two parts; that will work, but it's unintuitive
> and could cause confusion down the road.
>
> Any other ideas?
>
>
> _______________________________________________
> 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/20140125/9eaf9276/attachment.htm>
More information about the zeromq-dev
mailing list