What is a Hardware load balancer?
A network load balancer is an appliance device that is used to split network load across multiple servers.

Why use a hardware load balancer?
The main reasons for using a load balancer are:
• To increase capacity of the system,
• To improve performance (normally related to increasing concurrency ),
To provide resilience

How does Hardware load balancing work?

The basic principle is that network traffic is sent to a shared IP in many cases called a virtual IP (VIP), or listening IP. This VIP is an address that it attached to the load balancer. Once the load balancer receives a request on this VIP it will need to make a decision on where to send it.
This decision is normally controlled by a “load balancing method/ strategy”, a “Server health check” or, in the case of a next generation device in addition a rule set.

The request is then sent to the appropriate server and the server will produce a response (hopefully). Depending on the type of device, the response will be sent either back to the load balancer, in the case of a Layer 7 device, or more typically with a layer 4 device directly back to the end user (normally via its default gateway).

In the case of a proxy based load balancer, the request from the web server can be returned to the load balancer and manipulated before being sent back to the user. This manipulation could involve content substitution, compression. Indeed some top end devices offer full scripting capability.
Depending on the capability of the load balancer, in many cases it is desirable for the same user to be sent back to the same web server. This is generally referred to as persistence.

What are load balancing methods/strategies/ schedules?

Typically a load balancing method or strategy is used to decide how the load balancer chooses where to send the request. There are many strategies available depending on the vendor, however a few common ones are listed below:

Round robin: The most simple method, each server takes a turn.

Least number of connections: The load balancer will keep track of the number of connections a server has and send the next request to the server with the least connections.

Weighted: Typically servers are allocated a percentage capability as one server could be twice as powerful as another. Weighted methods are useful if the load balancer does not know the real and actual performance of the server.