HAProxy vs Keepalived: What are the differences?
Developers describe HAProxy as "The Reliable, High Performance TCP/HTTP Load Balancer". HAProxy (High Availability Proxy) is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. On the other hand, Keepalived is detailed as "A routing software written in C". The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures.
HAProxy can be classified as a tool in the "Load Balancer / Reverse Proxy" category, while Keepalived is grouped under "Open Source Service Discovery".
Instagram, Dropbox, and Medium are some of the popular companies that use HAProxy, whereas Keepalived is used by Gini, Groupe La Poste, and utry. HAProxy has a broader approval, being mentioned in 602 company stacks & 1060 developers stacks; compared to Keepalived, which is listed in 3 company stacks and 8 developer stacks.
Sign up to add or upvote prosMake informed product decisions
Sign up to add or upvote consMake informed product decisions
What is HAProxy?
What is Keepalived?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
We use HAProxy to load balance between our webservers. It balances TCP between the machines round robin and leaves everything else to Node.js, leaving the connections open with a reasonably long time to live to support WebSockets and re-use of a TCP connection for AJAX polling.
HAProxy manages internal and origin load balancing using KeepaliveD. Two small servers host the entire site, never moving about 15% load even during the largest load spikes.
We use HAProxy to balance traffic at various points in our stack, includgin nginx nodes on different physical machines, and api nodes on the backend.
I use HAproxy primarily for application routing and SSL termination. I also use its logs and statistics to visualize incoming traffic in Kibana.