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>-- </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. </div><div>
<br></div><div>=5BThe server layout=5D</div><div><br></div><div>clientA &=
lt;--tcp socket--> node service A <--> DataModelA <--> uni=
que radis data store</div>
<div>  =
; &nb=
sp; </div><div>clientB <--tcp socket--> node ser=
vice B <--> DataModelB <--> 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 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. clients in difference processes can communication with each=
other efficiently.</div><div>2. there need to be a centralized =
;place for data computation base on data models represents differenc=
e clients </div><div>
<br>
</div><div>the logic looks like the following diagram:</div><div><br></di=
v><div><div>clientA <--tcp socket--> node service A</div><div> =
; &=
nbsp; &nbs=
p; =7C</div><div> =
&nb=
sp; socket pipe</div>
<div>  =
; &=
nbsp; =7C</div><div> &nbs=
p; =
v</div><div>clientB <--tcp socket--&=
gt; node service B <--> DataModelA and B <--> 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--