Consulting Services >> Network Planning and Audit >> DRP >> RAID Load Balancing

In computing, load balancing is a technique (usually performed by load balancers) to spread work between many computers, processes, disks or other resources in order to get optimal resource utilization and decrease computing time.

A load balancer can be used to increase the capacity of a server farm beyond that of a single server. It can also allow the service to continue even in the face of server down time due to server failure or server maintenance.

A load balancer consists of a virtual server (also referred to as server or VIP) which, in turn, consists of an IP address and port. This virtual server is bound to a number of physical services running on the physical servers in a server farm. These physical services contain the physical server's IP address and port. A client sends a request to the virtual server, which in turn selects a physical server in the server farm and directs this request to the selected physical server. Load balancers are sometimes referred to as "directors"; while originally a marketing name chosen by various companies, it also reflects the load balancer's role in managing connections between clients and servers.

Different virtual servers can be configured for different sets of physical services, such as TCP and UDP services in general. Protocol- or application-specific virtual servers that may be supported include HTTP, FTP, SSL, SSL BRIDGE, SSL TCP, NNTP, SIP, and DNS.

The load balancing methods manage the selection of an appropriate physical server in a server farm.

Persistence can be configured on a virtual server; once a server is selected, subsequent requests from the client are directed to the same server. Persistence is sometimes necessary in applications where client state is maintained on the server, but the use of persistence can cause problems in failure and other situations. Further, persistence mechanisms can vary across load balancer implementations. A more common method of managing persistence is to store state information in a shared database, which can be accessed by all real servers, and to link this information to a client with a small token such as a cookie, which is sent in every client request.

Load balancers also perform server monitoring of services in a web server farm. In case of failure of a service, the load balancer continues to perform load balancing across the remaining services that are UP. In case of failure of all the servers bound to a virtual server, requests may be sent to a backup virtual server (if configured) or optionally redirected to a configured URL. For example, a page on a local or remote server which provides information on the site maintenance or outage.

Among the server types that may be load balanced are:

  • Server farms
  • Caches
  • Firewalls
  • Intrusion detection systems
  • SSL offload or compression appliances
  • Content Inspection servers (such as anti-virus, anti-spam)

In Global Server Load Balancing (GSLB) the load balancer distributes load to a geographically distributed set of server farms based on health, server load or proximity.

Load Balancer features

  • SSL Off load and Acceleration: SSL applications can be a heavy burden on the resources of a Web Server, especially on the CPU. Due to heavy transactions on the servers, they will not be able to handle SSL connections and non-SSL connections at the same time and the end users will see a slow response. To resolve these kinds of issues, we introduce a Load Balancer capable of handling SSL Off loading. When Load Balancers are taking the SSL connections, the burden on the Web Servers is reduced and performance will not degrade for the end users.
  • Secure Remote Access (SSL VPN):
  • Distributed Denial of Service Attack (DDoS) Protection
  • Compression
  • TCP off Load
  • Client Keep-alive
  • TCP Buffering
  • Consolidated Logging
  • Application Caching
  • TCP Compression
  • Content Filtering
  • Priority Queuing
  • Content Switching
  • Cache Redirection
  • Global Server Load Balancing
  • Link Load Balancing

Networking and redundancy

When providing an online service, it is important to always have access to the Internet. You cannot limit yourself to choosing one provider and being at their mercy. They may fail or you may overload the circuit with peak traffic during the day, resulting in slower network speed. Unavailability when a site is down and slow connections can cause clients to go elsewhere, perhaps to your competition for better service.

Many sites are turning to the multi-homed scenario; having multiple connections to the Internet via multiple providers to provide a reliable and high throughput service. Multi-homed networks are increasing in popularity because they provide networks with better reliability and performance to the end-user. Better reliability results from the fact that the network is protected in case one of the Internet links or access routers fails. Performance increases due to the fact that the network's bandwidth to the Internet is the sum of the different pipes available through the different access links.

Monitoring

Server monitoring checks the state of a server by periodic probing of the specified destination. Based on the response, it takes appropriate action. Monitors - also known as keep-alive - specify the types of request sent to the server and the expected response from the server. The load balancing system sends periodic requests to the server. The response from the servers must be received not later than configured response timeout. If the configured number of probes fail, the server is marked "DOWN" and the next probe is sent after the configured down time. The destination of the probe may be different from the server's IP address and port. A load balancer may support multiple monitors. When a service is bound to multiple monitors, the status of the service is arrived based on the results sent by all monitors.

CPE

For the end-user CPE (as opposed to ISPs, public hosts or other telco infrastructure), load balancing can be used to provide resilience or redundant backup in the case of failure of one part of WAN access. For example, a company with an ADSL line might have a secondary ADSL line, or any other kind of Internet feed. Internet traffic may be evenly distributed across both connections, giving more total net bandwidth, or traffic policies may determine specific types of data use a specific connection. Where one connection fails, all traffic can automatically route via the other connection.