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 the hash method, it computes a hash value then sends the request to the server. Hash load balancing is similar to persistence based load balancing, ensuring that connections within existing user sessions are consistently routed to the same back-end servers even when
the list of available servers is modified during the user’s session.
The hash value is computed as follows:
- The load balancer computes two hash values using:
- The back-end server IP Address and Port (X).
- One of the incoming URL, Domain name, Destination IP, Source IP, Source & Destination IP, Source IP & Source Port, Call ID, Token (Y).
- The load balancer computes a new hash value (Z) based on (X) and (Y).
- The hash value (Z) is stored in cache.
The load balancer forwards the request to the server with highest hash value, by using the value (Z) from the computed hash values. Subsequent requests with the same hash value (cached) are sent to the same server.
The following example shows how a Load Balancer works using the hash method. The load balancer delivers the request based on the value of Hash(Z) as follows:
- Server-1 receives the first request.
- If server-1 is down, the hash value is calculated again.
- The load balancer selects the server with the highest hash value, and forwards the request.
Note: If the load balancer fails to select a service by using a hash value, it uses the least connections method to select the server.
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.