Actually, I know of many web farms that are load balanced with NLB. There isn't any gathering of performance information with NLB, although as you mention the software algorithm does take a small amount of overhead. And we've seen in a lab that you don't really want to go over about 6 nodes in one cluster with NLB. Although using hardware to balance between multiple 6-node clusters is certainly acceptable.
You have to be careful about your network architecture as well, to ensure you allow bandwidth for "broadcasting" requests across the cluster. As for configuration and deployment, MS Application Center 2000 makes this much easier than it used to be with just NLB. Incidentally, AC2K also supports "sticky" sessions with request forwarding. And I think you're quite right about CLB - I wouldn't recommend using it, and it's really unnecessary in a .NET system. Greg Reinacker Reinacker & Associates, Inc. http://www.rassoc.com -----Original Message----- From: dotnet discussion [mailto:[EMAIL PROTECTED]] On Behalf Of Andrew Gayter Sent: Wednesday, May 29, 2002 4:26 AM To: [EMAIL PROTECTED] Subject: Re: ASP.NET and HTTP request routing in a web farm In general web farms don't employ Microsoft Component Load Balancing (CLB), or software enabled Network Load Balancing (NLB) due to the following reasons 1. The gathering of performance information is an unacceptable overhead 2. The limited number of nodes that are available in the configuration 3. Configuration and deployment 4. Software algorithms are slower than hardware ones Instead Microsoft are now actually promoting what is called tier consolidation, which is the moving of the components (typically sat in COM+ on different physical machines) onto the same machine as the web server. This consolidation results in a larger number of web/application servers. This is recommended because 1. Reduction of RPC calls between physical machines 2. Ease of security configuration 3. More available machines to serve incoming requests 4. Don't need CLB, or NLB In a typical web farm requests are received from the outside through a number of proxy/cache servers e.g. ISA. The request then hits either a hardware layer 4 or layer 7 switch (Cisco can provide them). These switches re-direct the request either at the IP level or HTTP - just think OSI model. Normally the switches are configured not to maintain state i.e. are stateless, but they can also be configured for 'sticky' sessions - which means all subsequent requests from the same client are routed to the same server. This isn't recommended as it doesn't promote scalability! If state needs to be maintained between client requests consider using the DB. If this is a .NET application I wouldn't consider the ASP.NET session management, as the current implementation is poor and isn't fail safe! If you're interested it's because it uses tempdb to store information. Anyone who knows about tempdb will know it's not recoverable, nor is it part of SQL servers cluster strategy. The out-of process state engine also isn't failsafe - so if you loose either the service or the currently active SQL server - you've just lost ALL your session information!!!! Between the web servers and the DB we normally have another layer of firewalls to protect the DB. SQL Server is normally clustered to 4 nodes in an active/passive mode - all sharing a RAID Array - best configured to RAID 11 (one, one) In your case you want a load balanced environment but want to have the ability to still target a specific machine. In the configuration above this is possible, providing your network routing doesn't re-direct requests back through the switches. Hope this helps A -----Original Message----- From: dotnet discussion [mailto:[EMAIL PROTECTED]] On Behalf Of Peter Foreman Sent: 29 May 2002 08:04 To: [EMAIL PROTECTED] Subject: Re: [DOTNET] ASP.NET and HTTP request routing in a web farm To clarify a previous email: Clustering service provides: Windows 2000 Advanced Server - 2 nodes Data Center - 4 nodes .Net Servers Advanced Server - 4 nodes Data Center - 8 nodes And all do support some kind of Active/Active clustering (but I've never used it so I don't know details). Also, you will be able to build a cluster without a shared disk in .Net servers. Very clever. :-) Peter __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.