At a high level, there are three types of load balancers.

Hardware-basedCloud-basedSoftware-based

A hardware load balancer is a dedicated appliance to provide load distribution and its relevant features. Some of the popular LB hardware vendors are:

F5TP-LinkBarracuda

They are expensive but give you full control. Cloud load balancer is trending more than ever. Using cloud LB is one of the affordable ways to enjoy full features without investing in a hardware appliance. You pay for what you use. The following are some of the known cloud LB.

AWSGoogle CloudCloudflareIncapsulaDigitalOceanAzure

You can get it started from as low as $20 per month. And the last one is software-based where you install, manage and configure LB software by yourself. This can be either commercial or open-source/free. If you don’t have a budget or would like to explore a free solution load balancer then below will help you.

Seesaw

Used by Google, a reliable Linux-based virtual load balancer server to provide necessary load distribution in the same network. Seesaw is developed in the Go language and works well on Ubuntu/Debian distro. It supports anycast, and DSR (direct server return), and requires two Seesaw nodes. They can be either physical or virtual. Worth mentioning that Seesaw works with layer four networks, so if you are looking for layer seven load balancing then you may want to explore other options.

KEMP

A FREE advanced application delivery controller by KEMP is supported on all major hypervisors. You can either download and use it in your data center or deploy it in cloud DC like AWS or Azure. It’s free but offers a commercial level of features including those below.

Layer 4 load balancing for TCP/UDP using round-robin or least connection algorithmsLayer 7 balancingIntegrate a web application firewall (WAF)Inbuilt intrusion prevention engine (IPS)True global server load balancing, supports multi-siteCaching, content compression, content switchingWeb cookie persistenceIPSec tunnelingPre-authenticationLet’s encryptKubernetes

KEMP LB is used by some of the big brands like Apple, Sony, JP Morgan, Audi, Hyundai, etc. The free edition provides sufficient features; however, if you need more, you can check out their commercial license. If you or your organization decide to explore KEMP LB and need some online training, then you can refer to this online course by Mike Walton.

HAProxy

One of the popular ones out there in the market is to provide high availability, proxy, TCP/HTTP load-balancing. HAProxy is used by some of the reputed brands in the world, like below.

AirbnbGitHubImgurReddit

Some of the worth mentioning features are.

Support IPv6 and UNIX socketDeflate & Gzip compressionHealth-checkSource-based session stickinessInbuilt statistics reporting (checkout demo)

As you may expect HAProxy got enterprise edition, hardware & virtual appliance. The best way to know about HAProxy is to try them. Community Edition comes with tons of features, and they are FREE anyway.

ZEVENET

Zevenet support L3, L4, and L7. It’s available as source code, IOS image, and in a docker repository. It supports advanced health-check monitoring, so faulty servers/services are out of operation quickly to provide a seamless user experience. Zevenet formerly known as Zen works well with a TCP-based protocol like FTP, SIP, SSL, HTTP, etc. If you are looking for Zevenet hosting then you may try Kamatera.

Neutrino

Neutrino is used by eBay and built using Scala & Netty. It supports least-connection and round-robin algorithms with the following switching features.

Using canonical namesContext-basedL4 using TCP port numbers

Neutrino is tested to handle 300+ requests per seconds throughput on 2-core VM. If you are comparing with HAProxy, then one major advantage of using Neutrino is L7 switching. But as always, try both and see what works best for your environment.

Balance

Balance by In lab networks is a TCP proxy round-robin LB that supports IPv6 on the listening side. This means you can have IPv4 on the front end and IPv6 on the back end. It got all the basic LB features.

Pen

Pen is tested on Linux, FreeBSD, HP-UX, Solaris, and Windows but no reason it shouldn’t work on another Unix distro. It supports UDP and TCP-based protocols like HTTP, SNMP, DNS, etc. Some of the features include the following along with the basic ones.

GeoIP filterSSL terminationIPv4 & IPv6 compatibility

Nginx

I know what you might be thinking. Nginx is a web server, proxy server, etc. But open-source Nginx does support a basic level of content switching & request routing distribution across multiple servers. However, the Nginx Plus edition is much more than that. Nginx Plus is an all-in-one web application delivery solution including load balancing, content caching, web server, WAF, monitoring, etc. It provides a high-performance load balancer solution to scale applications to serve millions of requests per second.

Traefik

It supports WebSockets, HTTP/2, auto SSL certificate renewal with Let’s encrypt, clean interface to manage and monitor the resources.

Gobetween

Gobetween is a minimalistic yet powerful high-performance L4 TCP, TLS & UDP-based load balancer. It works on multiple platforms like Windows, Linux, Docker, Darwin and if interested you can build from source code. Balancing is done based on the following algorithms you choose in the configuration.

IP hashWorld-famous – round-robinLeast bandwidthLeast connectionWeight

Based on this benchmark, Go-between is faster than HAProxy but not from Nginx. If you are looking for a modern L4 balancing solution with auto-discovery for the dynamic environment, then Go-between seems promising. Give it a try to see how it goes. Conclusion I hope the above-listed open-source load balancer software helps you to choose one for your application. They are all FREE, so the best way to find what works is by trying them. If you are looking to learn new skills then try Udemy, where thousands of video courses are available.

10 Open Source Load Balancer for HA and Improved Performance - 210 Open Source Load Balancer for HA and Improved Performance - 6310 Open Source Load Balancer for HA and Improved Performance - 2710 Open Source Load Balancer for HA and Improved Performance - 810 Open Source Load Balancer for HA and Improved Performance - 8310 Open Source Load Balancer for HA and Improved Performance - 8110 Open Source Load Balancer for HA and Improved Performance - 3710 Open Source Load Balancer for HA and Improved Performance - 710 Open Source Load Balancer for HA and Improved Performance - 510 Open Source Load Balancer for HA and Improved Performance - 2610 Open Source Load Balancer for HA and Improved Performance - 410 Open Source Load Balancer for HA and Improved Performance - 3810 Open Source Load Balancer for HA and Improved Performance - 4010 Open Source Load Balancer for HA and Improved Performance - 3310 Open Source Load Balancer for HA and Improved Performance - 5310 Open Source Load Balancer for HA and Improved Performance - 6710 Open Source Load Balancer for HA and Improved Performance - 3410 Open Source Load Balancer for HA and Improved Performance - 3210 Open Source Load Balancer for HA and Improved Performance - 6810 Open Source Load Balancer for HA and Improved Performance - 6010 Open Source Load Balancer for HA and Improved Performance - 7610 Open Source Load Balancer for HA and Improved Performance - 1910 Open Source Load Balancer for HA and Improved Performance - 7510 Open Source Load Balancer for HA and Improved Performance - 4210 Open Source Load Balancer for HA and Improved Performance - 4810 Open Source Load Balancer for HA and Improved Performance - 7610 Open Source Load Balancer for HA and Improved Performance - 6910 Open Source Load Balancer for HA and Improved Performance - 6310 Open Source Load Balancer for HA and Improved Performance - 4310 Open Source Load Balancer for HA and Improved Performance - 6310 Open Source Load Balancer for HA and Improved Performance - 47