Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion best practice for real-time socket-based cross clustered-process data communication and computation

Received: by 10.42.176.198 with SMTP id bf6mr380593icb.0.1347278869086;
        Mon, 10 Sep 2012 05:07:49 -0700 (PDT)
X-BeenThere: nodejs@googlegroups.com
Received: by 10.50.160.202 with SMTP id xm10ls3779851igb.3.gmail; Mon, 10 Sep
 2012 05:07:41 -0700 (PDT)
Received: by 10.42.69.8 with SMTP id z8mr6187355ici.30.1347278861409;
        Mon, 10 Sep 2012 05:07:41 -0700 (PDT)
Received: by 10.50.100.229 with SMTP id fb5msigb;
        Mon, 10 Sep 2012 02:31:28 -0700 (PDT)
Received: by 10.66.83.40 with SMTP id n8mr1925382pay.42.1347269488546;
        Mon, 10 Sep 2012 02:31:28 -0700 (PDT)
Received: by 10.66.83.40 with SMTP id n8mr1925381pay.42.1347269488535;
        Mon, 10 Sep 2012 02:31:28 -0700 (PDT)
Return-Path: <rubyonrai...@gmail.com>
Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54])
        by gmr-mx.google.com with ESMTPS id qq4si4869342pbb.1.2012.09.10.02.31.28
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 10 Sep 2012 02:31:28 -0700 (PDT)
Received-SPF: pass (google.com: domain of rubyonrai...@gmail.com designates 209.85.160.54 as permitted sender) client-ip=209.85.160.54;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of rubyonrai...@gmail.com designates 209.85.160.54 as permitted sender) smtp.mail=rubyonrai...@gmail.com; dkim=pass header...@gmail.com
Received: by mail-pb0-f54.google.com with SMTP id rp2so2230029pbb.13
        for <nodejs@googlegroups.com>; Mon, 10 Sep 2012 02:31:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:message-id:in-reply-to:references:subject:x-mailer
         :mime-version:content-type;
        bh=e9hn7x/4p5q8YhyWuGqOzrVMrLBug2/VpesvyguHQog=;
        b=ZvDRQNvGGNebbUL7U3Zp/onuz8xNPI+CmEa4BgWgz3sP8wVa3VGtdbchGZlYPektMs
         1oeNUOuFY9U+BPxhZegFtF8wdt1sVtx+qcNwqyQlkcpM10WI3Y2FRV1MUr6FO9aAE5Sp
         y4tvwiyHb1ZpQsUgBVwXNUQ9Zx81QtawaWdPP2L5c3+3iu9wmi/ouiBK4Ye8ydQ03cne
         /zvWgom+kOXQo5srs4FImiHHXEJIuir514d8oDi8B8BfG97tALC6/13Bu38F9GCnzgtD
         O0zvVLFw3JNvfo4XENOr8MSFGO0FCoJSiweNXceqNQdf+A9aDnYG5iIftPoKRS79me9w
         BFQA==
Received: by 10.68.242.34 with SMTP id wn2mr5322025pbc.53.1347269488327;
        Mon, 10 Sep 2012 02:31:28 -0700 (PDT)
Return-Path: <rubyonrai...@gmail.com>
Received: from [10.64.17.41] ([124.127.46.161])
        by mx.google.com with ESMTPS id jz4sm7783997pbc.17.2012.09.10.02.31.25
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 10 Sep 2012 02:31:27 -0700 (PDT)
Date: Mon, 10 Sep 2012 17:31:21 +0800
From: rubyonrailsx <rubyonrai...@gmail.com>
To: nodejs@googlegroups.com
Message-ID: <9F76F49E5A0045629E32809BB4045...@gmail.com>
In-Reply-To: <CAFtNwMo4+W79VPUU5RRk1YFtTkz1=aRXR_AQgWbC-fhs0Hf...@mail.gmail.com>
References: <CAFtNwMo4+W79VPUU5RRk1YFtTkz1=aRXR_AQgWbC-fhs0Hf...@mail.gmail.com>
Subject: Re: [nodejs] best practice for real-time socket-based cross
 clustered-process data communication and computation
X-Mailer: sparrow 1.6.3 (build 1172)
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="504db369_66334873_69e"

--504db369_66334873_69e
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Did you consider remove the need for communication between service A and service B . Instead use redis as message pipe?

-- 
rubyonrailsx
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Monday, September 10, 2012 at 4:44 PM, Yi Tan 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 (mailto:nodejs@googlegroups.com)
> To unsubscribe from this group, send email to
> nodejs+unsubscribe@googlegroups.com (mailto:nodejs+unsubscribe@googlegroups.com)
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en


--504db369_66334873_69e
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline


                <div style=3D=22font-family: Helvetica; font-size: 13px; =
=22>Did you consider remove the need for communication between service A =
and service B . Instead use redis as message pipe=3F<br></div>
                <div><div><br></div><div>--&nbsp;</div><div>rubyonrailsx<=
/div><div>Sent with <a href=3D=22http://www.sparrowmailapp.com/=3Fsig=22>=
Sparrow</a></div><div><br></div></div>
                =20
                <p style=3D=22color: =23A0A0A8;=22>On Monday, September 1=
0, 2012 at 4:44 PM, Yi Tan wrote:</p>
                <blockquote type=3D=22cite=22 style=3D=22border-left-styl=
e:solid;border-width:1px;margin-left:0px;padding-left:10px;=22>
                    <span><div><div><div>Hi node mates:</div><div><br></d=
iv><div>I'm looking for your advice about how to design and implement an =
mechanism for real-time socket-based cross clustered-process data communi=
cation and computation.&nbsp;</div><div>

<br></div><div>=5BThe server layout=5D</div><div><br></div><div>clientA &=
lt;--tcp socket--&gt; node service A &lt;--&gt; DataModelA &lt;--&gt; uni=
que radis data store</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nb=
sp; &nbsp; &nbsp;&nbsp;</div><div>clientB &lt;--tcp socket--&gt; node ser=
vice B &lt;--&gt; DataModelB &lt;--&gt; unique radis data store</div><div=
><br></div><div>* node service A and B are cluster on the same server</di=
v>

<div>* 1 data model represent 1 client at the run time</div><div>* both&n=
bsp;node service A and B&nbsp;talk to the same redis data store</div><div=
><br></div><div>=5BThe function request=5D</div><div><br></div><div>I nee=
d to implement a mechanism, in which:</div>

<div>1. &nbsp;clients in difference processes can communication with each=
 other efficiently.</div><div>2. there need to be a&nbsp;centralized&nbsp=
;place for data&nbsp;computation base on data models represents differenc=
e clients&nbsp;</div><div>
<br>
</div><div>the logic looks like the following diagram:</div><div><br></di=
v><div><div>clientA &lt;--tcp socket--&gt; node service A</div><div>&nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; =7C</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; socket pipe</div>

<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; =7C</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v</div><div>clientB &lt;--tcp socket--&=
gt; node service B &lt;--&gt; DataModelA and B &lt;--&gt; unique radis da=
ta store</div>

</div><div><br></div><div>Do you know what is the best way to do this, or=
 is there something already been built</div><div><br></div><div>Many than=
ks,</div><div><br></div>ty<br><br>

<p></p>

-- <br>
Job Board: <a href=3D=22http://jobs.nodejs.org/=22>http://jobs.nodejs.org=
/</a><br>
Posting guidelines: <a href=3D=22https://github.com/joyent/node/wiki/Mail=
ing-List-Posting-Guidelines=22>https://github.com/joyent/node/wiki/Mailin=
g-List-Posting-Guidelines</a><br>
You received this message because you are subscribed to the Google<br>
Groups =22nodejs=22 group.<br>
To post to this group, send email to <a href=3D=22mailto:nodejs=40googleg=
roups.com=22>nodejs=40googlegroups.com</a><br>
To unsubscribe from this group, send email to<br>
<a href=3D=22mailto:nodejs+unsubscribe=40googlegroups.com=22>nodejs+unsub=
scribe=40googlegroups.com</a><br>
=46or more options, visit this group at<br>
<a href=3D=22http://groups.google.com/group/nodejs=3Fhl=3Den=3Fhl=3Den=22=
>http://groups.google.com/group/nodejs=3Fhl=3Den=3Fhl=3Den</a><br>
</div></div></span>
                =20
                =20
                =20
                =20
                </blockquote>
                =20
                <div>
                    <br>
                </div>
            
--504db369_66334873_69e--