Failover cluster and Network Load Balancing (NLB) are two different clustering technologies. Failover clusters primarily provide high availability; Network Load Balancing provides scalability and at the same time helps increase availability of Web-based services.
Your choice of cluster technologies (failover clusters or Network Load Balancing) depends primarily on whether the applications you run have long-running in-memory state:
- Failover clusters are designed for applications that have long-running in-memory state, or that have large, frequently updated data states. These are called stateful applications, and they include database applications and messaging applications. Typical uses for failover clusters include file servers, print servers, database servers, and messaging servers.
- Network Load Balancing is intended for applications that do not have long-running in-memory state. These are called stateless applications. A stateless application treats each client request as an independent operation, and therefore it can load-balance each request independently. Stateless applications often have read-only data or data that changes infrequently. Front-end Web servers, virtual private networks (VPNs), File Transfer Protocol (FTP) servers, and firewall and proxy servers typically use Network Load Balancing. Network Load Balancing clusters can also support other TCP- or UDP-based services and applications.
Off course, in a NLB cluster, when one node fails, another node can still provide services or applications for clients. But that is not failover technology.
For more information please refer to following MS articles:
Failover Cluster Overview
http://technet.microsoft.com/en-us/library/cc770737.aspx
Network Load Balancing Overview
http://technet.microsoft.com/en-us/library/cc725946.aspx
Failover Clustering & NLB Documents and Resources
http://blogs.msdn.com/b/clustering/archive/2009/08/21/9878286.aspx
