
Load balancing is the process by which inbound internet protocol (IP) traffic can be distributed across multiple servers. Load balancing enhances the performance of the servers, leads to their optimal utilization and ensures that no single server is overwhelmed. Load balancing is particularly important for busy networks, where it is difficult to predict the number of requests that will be issued to a server.
Typically, two or more web serves are employed in a load balancing scheme. In case one of the servers begins to get overloaded, the requests are forwarded to another server. Load balancing brings down the service time by allowing multiple servers to handle the requests. This service time is reduced by using a load balancer to identify which server has the appropriate availability to receive the traffic.
The process, very generally, is straightforward. A webpage request is sent to the load balancer, which forwards the request to one of the servers. That server responds back to the load balancer, which in turn sends the request on to the end user.
Load balancing allows the service to continue even in the face of server down time due to server failure or server maintenance. If you are load balancing across several servers and one of the servers fails, your service will still be available to your users, as the traffic will be diverted to the other servers in your server farm. In Global Server Load Balancing (GSLB) the load is distributed to geographically scattered server farms, depending on their load, health or proximity.
Advantages of Layer 7 load balancing
So why isn’t it enough sometimes to just share traffic over a group of servers? Well, for a start, if all of the servers are equally likely to have to service a request, all the possible content will have to be on every server (or accessible, in the case of backend databases). Because different types of content have different requirements in terms of CPU usage, I/O throughput etc, you can get better efficiencies out of your servers by grouping them so that some handle transactions, while others just act as massive storage systems for serving up static pages, or are optimised for downloading streaming video, for instance.
It’s also unlikely that all your servers will be the same specification - again, this might suit the different types of content you want to serve: you might also want to make sure that some users are directed at higher powered servers, if they are premium customers, or are on your site to place an order rather than just browse.
So if you can place sessions on the best server for the particular transaction being carried out, you’ll be able to optimise resources and provide a better service.
Types of Layer 7 load balancing
The main decision-making parameters are described below:
URL Parsing: This involves looking at the URL that appears just after the HTTP GET header, and sending the request to one of a group of servers based on that address. You might look for a particular string, so that www.praveenkgupta.com/ requests go to one group of high-powered servers, while www.praveenkgupta.com/ricebranoil/ goes to another (I hesitate to suggest in any way less responsive) one. Or you could use the extension (.asp, .gif, etc) to point traffic at servers that have been optimised for serving that type of traffic.
HTTP Header interrogation: Your content switches can glean a lot of information by looking at the header information. The Host: header is actually the www.techworld.com part of the overall HTTP address, and it’s separated from the rest (as of HTTP 1.1) into its own header field. So if you’re hosting multiple companies’ web sites, you don’t have to advertise multiple Virtual IP addresses for each, but just let the content switch direct traffic using the header information.
The User-Agent: header tells the content switch what type of browser your client has, so you can point them at a format that will suit theirs best - useful if you have lots of PDA users, for example.
And if you look after a multinational company, the Accept-Language: header again lets you send users to a server that’s written for them. This might be a nice touch if you’re serving your own company staff - it might be a huge competitive advantage if your servers are serving paying customers.
Cookies: A special case of header information, the cookies sent down from your servers to clients, either temporarily for the duration of that session, or permanently, to be stored on the users’ hard drives, give you more information to make routing decisions on. A cookie value (which can be more or less any string) might indicate that this person has used your site before, so that you can welcome them by name the next time they visit, or if it’s a service they’ve previously subscribed to, you can send them to the servers providing the services they’ve paid for.
Load balancer features
Hardware and software load balancers can come with a variety of special features.
• Asymmetric load: A ratio can be manually assigned to cause some backend servers to get a greater share of the workload than others. This is sometimes used as a crude way to account for some servers being faster than others.
• Priority activation: When the number of available servers drops below a certain number, or load gets too high, standby servers can be brought online.
• SSL Offload and Acceleration: SSL applications can be a heavy burden on the resources of a Web Server, especially on the CPU and the end users may see a slow response (or at the very least the servers are spending a lot of cycles doing things they weren't designed to do). To resolve these kinds of issues, a Load Balancer capable of handling SSL Offloading in specialized hardware may be used. 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.
• Distributed Denial of Service (DDoS) attack protection: load balancers can provide features such as SYN cookies and delayed-binding (the back-end servers don't see the client until it finishes its TCP handshake) to mitigate SYN flood attacks and generally offload work from the servers to a more efficient platform.
• HTTP compression: reduces amount of data to be transferred for HTTP objects by utilizing gzip compression available in all modern web browsers
• TCP offload: different vendors use different terms for this, but the idea is that normally each HTTP request from each client is a different TCP connection. This feature utilizes HTTP/1.1 to consolidate multiple HTTP requests from multiple clients into a single TCP socket to the back-end servers.
• TCP buffering: the load balancer can buffer responses from the server and spoon-feed the data out to slow clients, allowing the server to move on to other tasks.
• HTTP caching: the load balancer can store static content so that some requests can be handled without contacting the web servers.
• Content Filtering: some load balancers can arbitrarily modify traffic on the way through.
• HTTP security: some load balancers can hide HTTP error pages, remove server identification headers from HTTP responses, and encrypt cookies so end users can't manipulate them.
• Priority queuing: also known as rate shaping, the ability to give different priority to different traffic.
• Content aware switching: most load balancers can send requests to different servers based on the URL being requested.
• Client authentication: authenticate users against a variety of authentication sources before allowing them access to a website.
• Programmatic traffic manipulation: at least one load balancer allows the use of a scripting language to allow custom load balancing methods, arbitrary traffic manipulations, and more.
• Firewall: Direct connections to backend servers are prevented, for security reasons
Buy Load Balancers in India
TEZ Networks
High performance layer 7 load balancing, hardware accelerated SSL and Network Security Solutions
TEZ Networks is the leading regional distributor in India for Internet infrastructure, networking and network security solutions. With focus and expertise in Application Acceleration, Layer 7 load balancer, SSL Acceleration, WAN Acceleration, Firewalls, VPNs, Intrusion Prevention and other network security solutions, TEZ is positioned to deliver high quality products, services and support to the resellers.
RoundRobin Tech Services
Round Robin Tech Services is a Value Added Distributor of Internet Security, Utility Software and Network Infrastructure solutions. We distribute some of the most innovative products in this segment.
BrainPulse Technologies
Load Balancing solutions by BrainPulse can be used to build complex virtual private networks of dedicated servers to meet specific requirements of web applications to establish high availability redundancy and scalability to your network. Via our Load Balancing services one can balance load of servers via distributing services requests made to a domain or IP address by setting different rule sets.
No comments:
Post a Comment