Load Balancer Open Source Software

I've worked with a various load balancing systems (LBS). They are complex pieces of hardware and software. In this post I will highlight some of the open source load balancing software. But what is load balancing?
It is nothing but a technique used to share (spared) load / services between two or more servers. For example, busy e-commerce or bank website uses load balancer to increase reliability, throughput, uptime, response time and better resource utilization. You can use following softwares as an advanced load balancing solution for web, cache, dns, mail, ftp, auth servers, VoIP services etc.

Linux Virtual Server (LVS)

LVS is ultimate open source Linux load sharing and balancing software. You can easily build a high-performance and highly available server for Linux using this software. From the project page:

Virtual server is a highly scalable and highly available server built on a cluster of real servers. The architecture of server cluster is fully transparent to end users, and the users interact with the cluster system as if it were only a single high-performance virtual server.

=> Project Web Site

Red Hat Cluster Suite

It is a high availability cluster software implementation from Linux leader Red Hat. It provide two type services:

  1. Application / Service Failover - Create n-node server clusters for failover of key applications and services
  2. IP Load Balancing - Load balance incoming IP network requests across a farm of servers

=> Product web page

The High Availability Linux Project

Linux-HA provides sophisticated high-availability (failover) capabilities on a wide range of platforms, supporting several tens of thousands of mission critical sites.

=> Project web site

Ultra Monkey

Ultra Monkey is a project to create load balanced and highly available network services. For example a cluster of web servers that appear as a single web server to end-users. The service may be for end-users across the world connected via the internet, or for enterprise users connected via an intranet.

Ultra Monkey makes use of the Linux operating system to provide a flexible solution that can be tailored to a wide range of needs. From small clusters of only two nodes to large systems serving thousands of connections per second.

=> Project web site

Personally, I've worked with both LVS and Red Hat Cluster Suite and I highly recommend these softwares.

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 6 comments… read them below or add one }

1 ari_stress 03.12.08 at 6:10 am

Hi Vivek,
I’ve been using Linux-Ha and RHCS for failover clustering. I’m interested in Load balancing cluster. Can you share a tutorial about it (LVS)?
Thank you very much.

2 Raj 03.12.08 at 6:59 am

ari_stress,

LVS easy; you also aware of RHCS.

3 Jacky H.Chan 03.12.08 at 9:05 am

Hi Ari,

I am also considering to implement a failover cluster. What are your comment on Linux-Ha and RHCS? Do you implement the two together?

4 Jeff Schroeder 03.12.08 at 1:00 pm

From LVS, all you really need to use is their vrrp daemon, Keepalived. It is really simple to setup and “Just Works TM” using multicast to send heartbeats between various nodes.
http://keepalived.org

I’ve written several scripts to help work with keepalived on various state changes you can get…

5 ari_stress 03.13.08 at 6:14 am

@Jacky
RHCS = polished and feature rich, but it’s vendor oriented (RH only).

Linux-Ha = not-so-polished but comparable feature rich.

I recommend Linux-Ha.

6 drakpzone 03.13.08 at 6:21 pm

I’d suggest ha-proxy, which in terms of lb leaves the rust out in the dust

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Previous post: Lighttpd Control a Directory Listing With mod_dirlisting

Next post: Open Source Software and Hardware Inventory Management Software