HAProxy
HAProxy is a free and open source software that provides a high availability load balancer and reverse proxy for TCP and HTTP-based applications that spreads requests across multiple servers.[2] It is written in C[3] and has a reputation for being fast and efficient (in terms of processor and memory usage).[4]
![]() | |
Original author(s) | Willy Tarreau |
---|---|
Initial release | December 16, 2001 |
Stable release | |
Repository | |
Written in | C |
Operating system | Linux, FreeBSD, OpenBSD, Solaris (8/9/10), AIX (5.1–5.3), macOS, Cygwin |
License | GNU General Public License Version 2 |
Website | www |
HAProxy is used by a number of high-profile websites including GoDaddy, GitHub, Bitbucket,[5] Stack Overflow,[6] Reddit, Slack,[7] Speedtest.net, Tumblr, Twitter[8][9] and Tuenti[10] and is used in the OpsWorks product from Amazon Web Services.[11]
History
HAProxy was written in 2000[12] by Willy Tarreau,[13] a core contributor to the Linux kernel,[14] who still maintains the project.
In 2013, the company HAProxy Technologies, LLC was created. The company provides a commercial offering, HAProxy Enterprise and appliance-based application-delivery controllers named ALOHA.
Features
HAProxy has the following features:
- Layer 4 (TCP) and Layer 7 (HTTP) load balancing
- Multi-factor stickiness
- URL rewriting
- Rate limiting
- SSL/TLS termination
- Gzip compression
- Caching
- PROXY Protocol support
- Scriptable multi-layer Health checking
- Connection and HTTP message logging
- HTTP/2[15] support on both sides
- HTTP/3[16] support
- WebSocket (RFC6455 and RFC8441)
- UDP/TCP Syslog load-balancing and forwarding/transcribing (RFC3164 and RFC5424)
- Event-driven Multithreaded architecture
- Hitless reloads[17]
- gRPC Support[18]
- Lua and SPOE Support
- API Support
- Layer 4/7 Retries
- Simplified circuit breaking
- Advanced debugging and tracing facilities
- Distributed stick-tables for stats collection and DoS mitigation
HAProxy Community vs HAProxy Enterprise
HAProxy Enterprise Edition is an enterprise-class version of HAProxy that includes enterprise suite of add-ons, expert support, and professional services. It has some features backported from the HAProxy development branch.[19]
ALOHA
HAProxy Technologies’ ALOHA is a plug-and-play load-balancing appliance that can be deployed in any environment. ALOHA provides a graphical interface and a templating system that can be used to deploy and configure the appliance.[20]
Versions
HAProxy has had the following version releases:[21]
Version | Release date | End of life |
---|---|---|
1.0 | 2001-12-16 | 2001-12-30 |
1.1 | 2002-03-10 | 2006-01-29 |
1.2 | 2003-11-09 | 2011-08-06 |
1.3 | 2006-06-29 | 2016-03-14 |
1.4 | 2010-02-26 | 2018-02-08 |
1.5 | 2014-06-19 | 2020-01-10 |
1.6 | 2015-10-13 | 2020-Q4 |
1.7 | 2016-11-25 | 2021-Q4 |
1.8 LTS | 2017-11-26 | 2022-Q4 |
1.9 | 2018-12-19 | 2020-Q2 |
2.0 LTS | 2019-06-16 | 2024-Q2 (critical fixes only) |
2.1 | 2019-11-25 | 2021-Q1 |
2.2 LTS | 2020-07-07 | 2025-Q2 (LTS) |
2.3 | 2020-11-05 | 2022-Q1 |
2.4 LTS | 2021-05-14 | 2026-Q2 (LTS) |
2.5 | 2021-11-23 | 2023-Q1 (stable) |
2.6 LTS | 2022-05-31 | 2027-Q2 (LTS) |
2.7 | 2022-12-01 | 2024-Q1 (stable) |
2.8 LTS | 2023-05-31 | 2028-Q2 (LTS) |
2.9 | TBA (~2023-Q4) | 2025-Q1 (dev » stable) |
Old version Older version, still maintained Current stable version Future release |
Performance
Servers equipped with 6 to 8 cores generally achieve between 200000 and 500000 requests per second, and have no trouble saturating a 25 Gbit/s connection under Linux.[22] 64-core ARM servers were shown to reach 2 million requests per second and 100 Gbit/s.[23]
References
- Error: Unable to display the reference properly. See the documentation for details.
- "MySQL Load Balancing with HAProxy". Severalnines AB. 2011. Retrieved 19 February 2013.
- "HAProxy on Freecode". Retrieved 5 April 2013.
- "Nuts & Bolts: HAproxy". Retrieved 8 April 2013.
- "The inner guts of Bitbucket". YouTube. Retrieved 26 February 2015.
- "What it takes to run Stack Overflow". Retrieved 22 November 2013.
- "All Hands on Deck". Slack Engineering. 29 June 2020. Retrieved 2020-07-07.
- "HAProxy: they use it!". Retrieved 5 April 2013.
- "List of sites using HAProxy". Archived from the original on 10 June 2013. Retrieved 5 April 2013.
- "Tuenti+WebRTC (Voip2day 2014)".
- "HAProxy layer - AWS Opsworks". Retrieved 5 April 2013.
- "HAProxy: design choices and history". Retrieved 5 April 2013.
- "Willy Tarreau: About me". Retrieved 5 April 2013.
- "LKML: Willy Tarreau: [ANNOUNCE] Linux 2.4.37.11". Retrieved 5 April 2013.
- Corbett, Daniel (2018-12-19). "HAProxy 1.9 Has Arrived". HAProxy Technologies. Retrieved 2019-01-22.
- Ramirez, Nick (2022-05-31). "Announcing HAProxy 2.6". HAProxy Technologies. Retrieved 2023-07-30.
- Mhedhbi, Moemen (2018-05-31). "Hitless Reloads / Hot Restarts with HAProxy!". HAProxy Technologies. Retrieved 2019-01-22.
- Ramirez, Nick (2019-01-16). "HAProxy 1.9.2 Adds gRPC Support". HAProxy Technologies. Retrieved 2019-01-22.
- "HAProxy Technologies Announces Improvements to Performance, Management, and Security for Enterprises" (Press release). 2 May 2018. Retrieved 23 Oct 2018.
- "ALOHA Hardware Appliance Application Delivery Controller". Retrieved 23 Oct 2018.
- "HAProxy". Retrieved 15 December 2022.
- haproxy
.org #plat - www
.haproxy .com /blog /haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance /