Thanks Dominic,

That's the way I'm implementing the cross-process module.

One thing difference is, I'm using UDP datagram rather then TCP, because:

1. the service we are working on is lag-sensitive, but accuracy
insensitive.

2. domain socket is slow on Xen, learned from using Redis.

3. data of each transmission is very small, < 100bytes.

> Also, what kind of messages are they sending?

message sent from clients are controlling command write in a custom
binary protocol.
the service we are building can be seen as to to host a good number of
virtual rooms in several processes. And a few clients on different process
can interact with each other in the same virtual room.

Regards,

ty


2012/9/13 Dominic Tarr <dominic.t...@gmail.com>

> You need to make every "client" a tcp server.
> if they live on the same machine, use a unix socket instead of a port
> number.
> see the docs for "net".
> Obviously, each node will need to keep track of every other node it
> needs to communicate with. something like http://npm.im/seaport might
> be good for that.
>
> Also, what kind of messages are they sending?
>
> On Tue, Sep 11, 2012 at 10:21 AM, Yi Tan <yi2...@gmail.com> wrote:
> > Thanks Johnny,
> >
> > dnode is very inspiring. cluster2 may help us a lot in production!
> >
> > Regards,
> >
> > ty
> >
> >
> >
> > 2012/9/11 Johnny Honestly <mostmodern...@gmail.com>
> >>
> >> I heard about this cluster manager today directly from the guys at ebay
> >> working on ql.io
> >>
> >> https://github.com/ql-io/cluster2
> >>
> >> You can stream buffers from parents to child process using stdin/out
> >>
> >> If you need sockets try dnode
> >>
> >> https://github.com/substack/dnode
> >>
> >>
> >> On Monday, September 10, 2012 1:45:12 AM UTC-7, Yi wrote:
> >>>
> >>> Hi node mates:
> >>>
> >>> I'm looking for your advice about how to design and implement an
> >>> mechanism for real-time socket-based cross clustered-process data
> >>> communication and computation.
> >>>
> >>> [The server layout]
> >>>
> >>> clientA <--tcp socket--> node service A <--> DataModelA <--> unique
> radis
> >>> data store
> >>>
> >>> clientB <--tcp socket--> node service B <--> DataModelB <--> unique
> radis
> >>> data store
> >>>
> >>> * node service A and B are cluster on the same server
> >>> * 1 data model represent 1 client at the run time
> >>> * both node service A and B talk to the same redis data store
> >>>
> >>> [The function request]
> >>>
> >>> I need to implement a mechanism, in which:
> >>> 1.  clients in difference processes can communication with each other
> >>> efficiently.
> >>> 2. there need to be a centralized place for data computation base on
> data
> >>> models represents difference clients
> >>>
> >>> the logic looks like the following diagram:
> >>>
> >>> clientA <--tcp socket--> node service A
> >>>                                             |
> >>>                                       socket pipe
> >>>                                             |
> >>>                                            v
> >>> clientB <--tcp socket--> node service B <--> DataModelA and B <-->
> unique
> >>> radis data store
> >>>
> >>> Do you know what is the best way to do this, or is there something
> >>> already been built
> >>>
> >>> Many thanks,
> >>>
> >>> ty
> >>>
> >> --
> >> Job Board: http://jobs.nodejs.org/
> >> Posting guidelines:
> >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> >> You received this message because you are subscribed to the Google
> >> Groups "nodejs" group.
> >> To post to this group, send email to nodejs@googlegroups.com
> >> To unsubscribe from this group, send email to
> >> nodejs+unsubscr...@googlegroups.com
> >> For more options, visit this group at
> >> http://groups.google.com/group/nodejs?hl=en?hl=en
> >
> >
> > --
> > Job Board: http://jobs.nodejs.org/
> > Posting guidelines:
> > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> > You received this message because you are subscribed to the Google
> > Groups "nodejs" group.
> > To post to this group, send email to nodejs@googlegroups.com
> > To unsubscribe from this group, send email to
> > nodejs+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/nodejs?hl=en?hl=en
>
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to