Hi  hd nguyen,

Thank you for the reply.

Yes, I have tried cluster-worker message sending. There are 3 issues block
me from using that built-in mechanism:

1. the app I'm working on is talking in raw buffer. but when sending buffer
in node's built-in cluster, it actually transmit the SlowBuffer instance,
which is 8k in fixed length. That means even sending 1 byte, the actually
data transition needs be 16k (8k workerA->master, 8k master-> workerB).
That is a huge waste.

2. the mechanism I'm looking for is a peer-to-peer implementation. the
built-in cluster is a server-route implementation, which doubles the data
cost of communication, another waste.

3. I can't find an easy way to pipe a stream to a process. Am I missing
something?

Thank you,

ty


2012/9/10 hd nguyen <[email protected]>

> Did you take a look at cluster api?
>
> http://nodejs.org/api/cluster.html#cluster_worker_send_message_sendhandle
>
> I think we can send msg to master process, and from master process,
> broadcast msg to other workers.
>
> More discussion can be referred in this link:
> http://stackoverflow.com/questions/8534462/nodejscluster-how-to-send-data-from-master-to-to-all-or-single-child-workers
>
>
> On Mon, Sep 10, 2012 at 3:44 PM, Yi Tan <[email protected]> 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 [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>
>
>
> --
> Nguyen Hai Duy
> Mobile : 0914 72 1900
> Yahoo: nguyenhd_lucky
>
> --
> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to