Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What load-balancing system do you use in production? What do you think of it?

There are a lot of different systems for balancing load and achieving redundancy in production servers (Not just web servers)

  • Round-robin DNS
  • Linux Virtual Server
  • Cisco Local Director
  • F5 BigIP
  • Windows NLB
  • etc?

If you use one of these (or another) in production, which one? How well does it work for you? Have you evaluated others?

like image 230
MarkR Avatar asked Oct 05 '08 18:10

MarkR


People also ask

Which load balancing algorithm is the best?

Round-robin load balancing is the simplest and most commonly-used load balancing algorithm. Client requests are distributed to application servers in simple rotation.

What are the types of load balancing?

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.

What is a load balancing system?

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.

What technology is used for load balancing?

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.


3 Answers

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:

  • Easily define different traffic types, and route to the right server pool
  • Extreme reliability: I've not had it crash in 9 months and counting
  • Low resource usage: barely registers on CPU, and all the (small) I/O load is from logging
  • Highly flexible: various balancing, session stickiness and failover algorithms

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.

like image 191
James Brady Avatar answered Nov 12 '22 08:11

James Brady


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.

like image 30
Egwor Avatar answered Nov 12 '22 08:11

Egwor


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.

like image 35
Paul Dixon Avatar answered Nov 12 '22 07:11

Paul Dixon