There are a lot of different systems for balancing load and achieving redundancy in production servers (Not just web servers)
If you use one of these (or another) in production, which one? How well does it work for you? Have you evaluated others?
Round-robin load balancing is the simplest and most commonly-used load balancing algorithm. Client requests are distributed to application servers in simple rotation.
Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. Amazon ECS services can use these types of load balancer. Application Load Balancers are used to route HTTP/HTTPS (or Layer 7) traffic.
Load balancing is a core networking solution used to distribute traffic across multiple servers in a server farm. Load balancers improve application availability and responsiveness and prevent server overload.
This technology is known as server load balancing (SLB). SLB is designed for pools of application servers within a single site or local area network (LAN). Load balancers are used to provide availability and scalability to the application. The application can scale beyond the capacity of a single server.
HAProxy is an excellent software load-balancer; easy to configure, highly customisable and extremely performant (it can saturate a 10Gb NIC).
The main features which make HAProxy so suited to us:
The only thing that is annoying about HAProxy is the configuration file. There is no convenient way to programmatically change a server's config, and there's a learning curve to understanding the various options.
For our apache processes we use(d): http://www.f5.com/products/big-ip/ This seems like the industry standard. I guess it all comes down to how much you're paying, and what you're load balancing.
e.g. Websphere could be done:
big ip -> Apache 1 -> WebSphere 1
big ip -> Apache 2 -> WebSphere 2
or you could cross it:
big ip -> Apache 1 -> WebSphere 1 & 2 (round robin)
big ip -> Apache 2 -> WebSphere 2 & 1 (round robin)
We used the latter and it worked perfectly. Watch out for the scenario where one host fails: in most cases you're going to lose that request if it just times out.
I've used LVS and find it very low maintenance once setup. On a side project I tried haproxy for a site where I was just balancing 3 webservers. Worked like a charm and was very easy to configure - highly recommended.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With