Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

.NET Remoting and Load balancing

364 views
Skip to first unread message

Vinc

unread,
Jan 12, 2005, 9:03:02 PM1/12/05
to
My scenario is that I have a window service sitting in a server that take
care of processing our backend business logic. Our clients does .NET remoting
call to our server for data processing.

Recently, we are looking at expanding this service by scaling out servers to
serve more clients. I understand that this can be done if I load balance the
servers.

I have read articles that .NET remoting uses one TCP session per application
and waited for 10secs idle time before rendering it to TIME_WAIT state and
eventually destroying the session after four minutes.

Can anyone advice how I can achieve full and true loadbalancing in .NET
remoting as our clients can be sending requests very frequent (<10 secs
intervals).


Red Devil

unread,
Jan 12, 2005, 9:35:03 PM1/12/05
to
Well, TCP and Sockets may help you to achieve the true NLB

Sam Santiago

unread,
Jan 13, 2005, 3:06:38 AM1/13/05
to
I would read these two articles:

INFO: Configurations That Microsoft Supports for Microsoft .NET Remoting
with Network Load Balancing
http://support.microsoft.com/default.aspx?scid=kb;en-us;830217

and

Improving Remoting Performance
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt11.asp

These articles state two important things:

1) You cannot load balance with the TCPChannel because it has machine
affinity. HTTPChannel will work.
2) You can only load balance SingleCall SAOs. Not sure if this is strictly
if you NLB services only or if still applies if you have a hardware load
balance solution.

Thanks,

Sam

--
_______________________________
Sam Santiago
ssan...@n0spam-SoftiTechture.com
http://www.SoftiTechture.com
_______________________________
"Red Devil" <RedD...@discussions.microsoft.com> wrote in message
news:E5290EC4-6D00-4D86...@microsoft.com...

Vinc

unread,
Jan 13, 2005, 4:13:06 AM1/13/05
to
Thanks Sam,

Given Http will degrade performance, I think I would give a try to explore
Aysnc TCP methods. Since the parameters I have are of basic type, ie, int,
string etc, I think passing those in network stream should not cause problem.

But I would like your view on using Aysnc TCP as a replacement of .NET
remoting. Can you draw some pro and cons between them? Thanks again.

Sam Santiago

unread,
Jan 13, 2005, 11:42:37 AM1/13/05
to
I haven't done much with Async TCP, so I cannot provide any information
there.

You might want to check out this article on performance with remoting,
binary serialization, and http:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdadotnetarch14.asp

Thanks,

Sam

--
_______________________________
Sam Santiago
ssan...@n0spam-SoftiTechture.com
http://www.SoftiTechture.com
_______________________________

"Vinc" <vinm...@singnet.com.sg> wrote in message
news:B26FAA13-3B1C-431C...@microsoft.com...

Vinc

unread,
Jan 14, 2005, 9:01:03 AM1/14/05
to
Thanks Sam,

I will try Async Socket anyway.

AndreasW

unread,
Jan 15, 2005, 2:49:02 PM1/15/05
to
Hi,

If NLB is not what you want, I think, you should change your
communication-framework to enterprise services.

There you can use CLB (Component Load Balancing)
See also:
http://www.microsoft.com/technet/prodtechnol/acs/deploy/clbovrvw.mspx

Vinc

unread,
Jan 15, 2005, 8:47:01 PM1/15/05
to
Hi AndreasW,

CLB is something I have not consider yet. I will look into the possiblity of
that. Thanks.

Chee Pin Cheam

unread,
Mar 16, 2005, 11:11:52 AM3/16/05
to
Vinc wrote:
> Hi AndreasW,
>
> CLB is something I have not consider yet. I will look into the possiblity of
> that. Thanks.
>
> "AndreasW" wrote:
>
>

Component Load Balancing mechanism is designed around COM+ 1.x. You
won't be able to use it unless you are using .net enterprise services
(aka servicedcomponent).

Chee PIn

0 new messages