Load balancing (computing)

related topics
{system, computer, user}
{math, number, function}
{rate, high, increase}

In networking, load balancing is a technique to distribute workload evenly across two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple components with load balancing, instead of a single component, may increase reliability through redundancy. The load balancing service is usually provided by a dedicated program or hardware device (such as a multilayer switch or a DNS server).

Contents

Internet-based services

One of the most common applications of load balancing is to provide a single Internet service from multiple servers, sometimes known as a server farm. Commonly, load-balanced systems include popular web sites, large Internet Relay Chat networks, high-bandwidth File Transfer Protocol sites, Network News Transfer Protocol (NNTP) servers and Domain Name System (DNS) servers.

For Internet services, the load balancer is usually a software program that is listening on the port where external clients connect to access services. The load balancer forwards requests to one of the "backend" servers, which usually replies to the load balancer. This allows the load balancer to reply to the client without the client ever knowing about the internal separation of functions. It also prevents clients from contacting backend servers directly, which may have security benefits by hiding the structure of the internal network and preventing attacks on the kernel's network stack or unrelated services running on other ports.

Some load balancers provide a mechanism for doing something special in the event that all backend servers are unavailable. This might include forwarding to a backup load balancer, or displaying a message regarding the outage.

An alternate method of load balancing, which does not necessarily require a dedicated software or hardware node, is called round robin DNS. In this technique, multiple IP addresses are associated with a single domain name (e.g. www.example.org); clients themselves are expected to choose which server to connect to. Unlike the use of a dedicated load balancer, this technique exposes to clients the existence of multiple backend servers. The technique has other advantages and disadvantages, depending on the degree of control over the DNS server and the granularity of load balancing desired.

Full article ▸

related documents
Virtual LAN
PKZIP
Symmetric multiprocessing
Time division multiple access
Desktop environment
Digital Video Broadcasting
Multiprotocol Label Switching
Keystroke logging
Personal digital assistant
IP address
Data transmission
Ethernet over twisted pair
Terminate and Stay Resident
SUSE Linux
Revision control
Amiga 600
Dolby Digital
Amplifier
IBM AIX (operating system)
Microcomputer
Digital Audio Tape
Slow-scan television
Transistor–transistor logic
Video Graphics Array
Dual-tone multi-frequency
ClearType
Hercules Graphics Card
Winamp
Doctor V64
Video Toaster