Load balancing with persistence allows you to distribute client requests across multiple servers and optimize resource utilization. Load balancers improve server fault tolerance and end-user response time. In a scenario with a limited number of servers providing service to a large number of clients, a server can become overloaded and degrade server performance. Load balancing is used to prevent bottlenecks by forwarding the client requests to the servers best suited to handle them. Thus, balancing the load.
Load balancers are logically located between the client and the server farm. Load balancing is used to manage traffic flow to the servers in the server farm. The network diagram shows the topology of a basic load balancing configuration. Load Balancing can be performed on HTTP, HTTP, SSL, FTP, TCP, SSL_TCP, UDP, SSL_BRIDGE, NNTP, DNS, ANY, SIP-UDP, DNS-TCP, and RTSP.
Load balancing uses a number of algorithms, called load balancing methods, to determine how to distribute the load among the servers. When a load balancer is configured to use a persistence based load balancing, it overrides the load balancing methods once the server has been selected. If the configured persistence applies to a server that is down, the NetScaler uses the load balancing methods to select a new server, the new server becomes persistent for subsequent requests from the client. A server is selected based on the persistence method configured in the load balancer. Persistence types that can be configured are Source IP, Destination IP, Source & Dest IP, SSL Session ID, Cookie Insert, URL and Server ID.
The following example shows how a Load Balancer works using the custom method. The load balancer selects the server by using the value (N) of the following expression:
N = A persistence value based on Source IP, Destination IP, Source & Dest IP, SSL Session ID, Cookie Insert, URL or Server ID.
The requests are delivered as follows:
- The first request is sent to Server-1, Server-2 or Server-3 based on the configured load balancing method.
- Subsequent requests are sent to a server based on the persistence value N, and are sent to the same server that was selected, thus persisting the connection.
Whether it’s load balancing XenApp Web Interface, iPhone/iPad resources, websites, linux servers, windows servers, e-commerce sites, or enterprise applications, NetScaler is the perfect choice. NetScaler, available as a network device or as a virtualized appliance, is a web application delivery appliance that accelerates internal and externally-facing web application up to 5x, optimizes application availability through advanced L4-7 traffic management, increases security with an integrated application firewall, and substantially lowers costs by increasing web server efficiency.
Citrix NetScaler is a comprehensive system deployed in front of web servers that combines high-speed load balancing and content switching with application acceleration, highly-efficient data compression, static and dynamic content caching, SSL acceleration, network optimization, application performance monitoring, and robust application security.
Available as a virtual machine, the NetScaler is perfect for load balancing virtual servers in the datacenter or in the cloud.