In computer networking, Load Balancing is a technique to spread work between two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, throughput, or response time.
Using multiple components with load balancing, instead of a single component, may increase reliability through redundancy.
The balancing service is usually provided by a dedicated program or hardware device (such as a multilayer switch).
It is commonly used to mediate internal communications in computer clusters, especially high-availability clusters.
Read the rest of the article here