Even for the best written and designed applications and infrastructure, rapid, unexpected spikes in online traffic can challenge even the best. If this spike of traffic is expected, such as an online sale event, or special promotion, having your site go down can mean the loss of thousands, or millions of dollars in sales, lost leads, and your reputation. Nothing is more embarrassing than running a promotion and having customers click furiously on your site only to have it not load, or throw error after error.
Gravity Servers’ partnership with Kemp Technologies brings their best in class Load Balancers to your application. Whether it be a single hardware load balancer, a pair of highly available ones, or a virtual Load Balancer that runs right inside your cloud infrastructure (benefiting from your environment’s own High Availability or Disaster Recovery), Gravity Servers’ Load Balancing service is designed to keep your application available and running smoothly at the worst of times.
Understanding Gravity Servers’ Load Balancing
At its core, load balancing is the distribution of any workload across many servers or nodes. In web hosting, it is typically used for balancing HTTP or HTTPS traffic over multiple servers that in turn work together as a single web front end to an application without the user or customer ever knowing that they are moving from server to server. This means that the load of the application can be shared among many servers rather than being limited to a single server. This effectively multiplies the processing power of your application.
It also builds in a layer of redundancy to your application so that even if one or more of the web servers that your application resides on goes down, or has a problem, the traffic is then intelligently distributed to the other nodes / servers without any interruption of service whatsoever.
The two most common reasons for using Gravity Servers’ Load Balancing are (a) negating single points of failure in your architecture, and (b) distributing the load of your application over two or more servers, thus multiplying your effective processing power.
Load Balancing: Negating Single Points of Failure
By eliminating a single point of failure in your environment / application, you effectively increase your uptime. If you load balance between two or more identical nodes, in the event that one of those nodes suffers a failure, needs to have its software updated, or experiences a software failure, the traffic can be distributed to the other nodes that are still available, thereby keeping your site up. If uptime is one of your primary concerns, Gravity Servers’ Load Balancing can address that concern.
Load Balancing: Load Distribution
As in the situation above, your application / environment is again load balanced across two or more identical nodes. This effectively multiplies your processing power for each node that you add, as that traffic is distributed across your servers. Upgrading your server to a more powerful CPU, or more RAM, or better performing disks, can only take you so far, and at some point, you will hit a wall where the demands on your server outstrip it’s ability to serve pages. The next logical step is to combine the power of multiple servers through load balancing.
Gravity Servers’ Load Balancing: Methods
There are several different methods to load balance your traffic. Each of them has its own advantages, disadvantages, and algorithms. Depending on the application and use cases, one business may use one method, while that same method would not work for another environment. Gravity Servers will work with you to determine the best method of load balancing your application and fine tuning it for the best performance.
Round Robin: This method tells the LoadMaster to direct requests to Real Servers in a round robin order.
Weighted Round Robin: This method allows each server to be assigned a weight to adjust the round robin order. E.g. “Server 1” can get 2 times the request that “Server 2” gets.
Least Connection: This method tells the LoadMaster to look at the connections going to each server and send the next connection to the server with the least amount of connections.
Weighted Least Connection: This method allows each server to be assigned a weight to adjust the least connection order. E.g. “Server 1” can get 2 times the connections that “Server 2” gets.
Agent-Based Adaptive Balancing: This method is resource-based load balancing where an agent gets installed on the server and monitors the servers’ resources (e.g. RAM, CPU…) and then reports back a percentage to the LoadMaster which is used for load balancing.
Fixed Weighting: This method is used for Redundancy rather than Load Balancing; all connections will go to the server with the highest weight in the event this server fails, then the server with the next highest weight takes over.
Weighted Response Time: This method looks at the response times of the real servers (based on the response time of the server health check) and whichever real server is responding fastest gets the next request.
Source IP Hash: This method looks at the source IP address that sent the request to the LoadMaster and will create a HASH value for it and if the HASH value is different then it gets sent to a different Real Server.
Updated on 2015-09-17T14:20:30-04:00, by .