HAProxy vs ProxySQL: What are the differences?
What is HAProxy? 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.
What is ProxySQL? A High-performance, GPL licensed MySQL proxy. It has an advanced multi-core architecture. It's built from the ground up to support hundreds of thousands of concurrent connections, multiplexed to potentially hundreds of backend servers. It helps you squeeze the last drop of performance out of your MySQL cluster, without controlling the applications that generate the queries.
HAProxy belongs to "Load Balancer / Reverse Proxy" category of the tech stack, while ProxySQL can be primarily classified under "Database Tools".
Instagram, Dropbox, and Medium are some of the popular companies that use HAProxy, whereas ProxySQL is used by 000webhost, Singular Group, and Bamboo Group. HAProxy has a broader approval, being mentioned in 602 company stacks & 1060 developers stacks; compared to ProxySQL, which is listed in 5 company stacks and 3 developer stacks.
What is HAProxy?
What is ProxySQL?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose ProxySQL?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using ProxySQL?
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.