Network Load Balancing

Network Load Balancing (NLB) is the approach used to install a farm of physical K2 application/web servers that are presented to the network as one logical resource. This farm-based topology that utilizes NLB makes it possible to scale out your K2 environment merely by adding additional physical machines to the NLB node.

The machines residing in the individual Network Load Balancing (NLB) configurations must be configured for NLB prior to installing K2. However, this documentation does not describe how to configure NLB, since the implementation varies depending on the product or hardware used to implement NLB. Please refer to documentation provided with your NLB technology for information on configuring NLB.

Network Load Balancing vs Clustering

NLB dynamically distribute the flow of incoming TCP and UDP traffic among the cluster nodes according to a set of traffic-handling rules. NLB clusters provide a highly available and scalable platform for applications such as IIS. NLB is used for stateless applications; i.e. those that do not rely on any state as a result of a request.

A server cluster is a collection of servers that together provides a single, highly available platform for hosting applications. Applications can be failed-over to ensure high availability in the event of planned downtime due to maintenance or unplanned downtime due to hardware, Operating System or application failures. Server clusters provide a highly available platform for applications such as SQL Servers. Server clusters are used for stateful applications that rely on some state context from one request to the next. Server clusters provide high availability and disaster tolerance for mission-critical database management, file sharing, intranet data sharing, messaging, and general business applications.

With Windows Server 2008 R2 with SP1 and onwards, failover clustering allows flexibility for adding and removing hardware in a geographically dispersed cluster environment, as well as providing improved scaling options for applications.

NLB and server clusters complement each other in complex architectures: NLB is used for load balancing requests between front-end or application servers, while server clusters provide high availability for back-end database access.

The K2 application server is not architected to operate within a Windows server cluster environment. In terms of clustering and NLB, the K2 application server component supports NLB but not clustering.