The Load Balancer (or Network Dispatcher) provides horizontal scalability by dispatching http connections among several, identically configured Web Servers.
The Load Balancer component distributes interactive traffic across a number of hosts using dynamically updated rules for load balancing, while providing a single system image to the client system. It is used to achieve scalability through use of multiple servers, and high availability through being able to dynamically vary the algorithms by which a host is selected if one host fails or becomes overloaded.
The Load Balancer may be required to concurrently provide local or remote load balancing function for:
- Web server requests
- Mail servers
- Firewall / authentication hosts (i.e. not just IP address filtering)
The Load Balancer uses TCP/IP addressing standards to provide a single IP address for users to access. IP aliasing allows the ND to forward a message to a host and have it appear as if it had come direct from the client. The host therefore replies directly to the client.
The Load Balancer selects a host to process each incoming message on the basis of user-defined rules and dynamically updated information about the status of each eligible host. It uses agents to maintain awareness of the health and loading of each eligible back-end host within a defined cluster, and forwards each incoming request to one of these hosts on the basis of either existing persistent connections or the displaceable capacity (loading) of the target host application or server.
The main benefits of using a Load Balancer are
- Enhanced service scalability, as servers can be replicated to accommodate increasing workload
- Enhanced service availability, as traffic can be routed to alternative servers if one server fails
- Enhanced manageability, as an individual server can be taken out of service for maintenance without interrupting the service to users.
See Also
Additional Resources
- (in English) ESS