January 2005 - Posts - Willy-Peter Schaub's Cave of Chamomile Simplicity

January 2005 - Posts

.NET Remoting and NLB ... some interesting links. More information from the front.

The following information is an extract from communication we are having with Microsoft as part of the Ascend initiative. Hope it adds some value to you as well ...


The connection caching changes should be available in beta2.

The TcpChannel constructor takes a property bag (this is also exposed in config) that allows you to set the socket cache timeout.  If you set this to 0 then sockets will not be cached and every connection will be new, which will allow the TcpChannel to load balance appropriately.

Here is some sample code:

IDictionary properties = new Hashtable ();

// enable load balancing

properties["socketcachepolicy"] = SocketCachePolicy.AbsoluteTimeout;

properties["socketcachetimeout"] = "0";

TcpClientChannel channel = new TcpClientChannel (properties,null);

Here is some sample code for the config file:

<channel ref="tcp" socketCachePolicy="AbsoluteTimeout" socketCacheTimeout="0" />

Posted by willy with no comments

A journey through the world of Technical Architecture Part 2 - Using .NET Remoting (UPDATED)

We have updated the PDF “A journey through the world of Technical Architecture Part 2 - Using .NET Remoting” on http://www.drp.co.za/default.asp?id=media/content_editorials which unfortunately still contained revision tracking. We apologise for any inconvenience caused.
Posted by willy with no comments

.NET Remoting and NLB ... some interesting links.

The following information is an extract from communication we are having with Microsoft as part of the Ascend initiative. Hope it adds some value to you as well ...


When using remoting, you cannot load balance across a server farm with the TcpChannel, due to the machine affinity of the underlying TCP connection.  Have a look at the following articles:

Configurations That Microsoft Supports for Microsoft .NET Remoting with Network Load Balancing

http://support.microsoft.com/default.aspx?scid=kb;en-us;830217

Improving Remoting Performance

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

So, the bottom line is:

1)       You cannot load balance with the tcpChannel because it has machine affinity which comes from the caching of connections. 

2)       You can use NLB if you only use MarshalByValue objects.

3)       You can use NLB for a single-call SOA provided you use the HTTP channel and host in IIS.

Review the following articles/blogs on some strategy regarding remoting and Indigo.

http://blogs.msdn.com/richardt/archive/2004/03/05/84771.aspx

http://blogs.msdn.com/richardt/archive/2004/03/05/84834.aspx

http://blogs.msdn.com/richardt/archive/2004/06/23/164201.aspx

http://blogs.msdn.com/richardt/archive/2004/07/21/190742.aspx

http://blogs.msdn.com/richardt/category/4119.aspx

Some Longhorn related stuff…

http://msdn.microsoft.com/longhorn/support/lhdevfaq/default.aspx#Indigo

Posted by willy with 1 comment(s)
Filed under: