A load balancer is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers. Load balancers are used to increase capacity (concurrent users) and reliability of applications. They improve the overall performance of applications by decreasing the burden on servers associated with managing and maintaining application and network sessions, as well as by performing application-specific tasks.


Load balancers are generally grouped into two categories: Layer 4 and Layer 7. Layer 4 load balancers act upon data found in network and transport layer protocols (IP, TCP, FTP, UDP). Layer 7 load balancers distribute requests based upon data found in application layer protocols such as HTTP.

Some of the methods of distributing loads includes

Round robin
Weighted round robin
Least connections
Least response time

LAYER 7 SWITCHING

Layer 7 switching takes its name from the OSI model, indicating that the device switches requests based on layer 7 (application) data. Layer 7 switching is also known as “request switching”, “application switching”, and “content based routing”.

A layer 7 switch presents to the outside world a “virtual server” that accepts requests on behalf of a number of servers and distributes those requests based on policies that use application data to determine which server should service which request. This allows for the application infrastructure to be specifically tuned/optimized to serve specific types of content. For example, one server can be tuned to serve only images, another for execution of server-side scripting languages like PHP and ASP, and another for static content such as HTML , CSS , and JavaScript.

Unlike load balancing, layer 7 switching does not require that all servers in the pool (farm/cluster) have the same content. In fact, layer 7 switching expects that servers will have different content, thus the need to more deeply inspect requests before determining where they should be directed. Layer 7 switches are capable of directing requests based on URI, host, HTTP headers, and anything in the application message.

 

Layer 7 Switching + Load Balancing = Layer 7 Load Balancing

 

Layer 7 load balancing also allows for increased efficiency of the application infrastructure. For example, only two highly tuned image servers may be required to meet application performance and user concurrency needs, while three or four optimized servers may be necessary to meet the same requirements for PHP or ASP scripting services. Being able to separate out content based on type, URI, or data allows for better allocation of physical resources in the application infrastructure.

F5 brings their load balancing Technology into availability for your applications need of consistent accessibility and to costly downtime and lost productivity. In As described “F5 technology gives you the power and flexibility to set availability priorities based on requirements such as security, uptime, reliability, and performance”. http://www.f5.com/solutions/availability/. below are the 3 Availability solutions described.

  • Global Load Balancing
  • Local Load Balancing
  • Link Load Balancing

Check devcentral also for some related information http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/12/3529.aspx

 

Some of the Supported Load Balancing Methods include (http://loadbalancer.org/):

  • Direct Routing (DR)
  • Network Address Translation (NAT)
  • Source Network Address Translation (SNAT)

 

Just a Resourceful information you would say….