The basic concept behind load balancing is to share work amongst many devices. So for example if you request a page from the BBC website a device called a load balancer will intercept your request and send it to one of many BBC servers who can handle the request. If this load sharing did not happen you would be waiting a long time for a response from the BCC server. This is because the single server responding to the request would have to handle each request for a page in sequence and there are usually lots of people who will be making requests to the BBC website at the same time. So this means that you will end up in a long queue and in order to avoid this queuing a device is used to distribute the incoming page requests amongst many servers so that no one needs to wait too long for a response.
What this device is doing is sharing incoming page requests across multiple hardware devices or servers. This means that many simultaneous requests can be handled quickly. There are two main types of load balancing used today:
- software and
- hardware
The Apache Web Server is one typical example of software that is used to distribute requests amonst many servers. In fact Apache is probably the most commonly used software for this purpose. It accepts the web page requests and shares them across multiple backend servers who in turn provide the response to the user.
Hardware devices can also be used to as load balancers. In this case a hardware device such as a switch distributes the requests amongst the backend servers. This is faster than using software as it is the hardware itself that does the load distribution rather than software running on the hardware. The two main types of hardware device used for this purpose are servers and network switches.
So in a nutshell load balancing is the distribution of incoming requests across multiple backend devices (servers) so that multiple simultaneous requests can be handled quickly.

