HAProxy
Original author(s) | Willy Tarreau |
---|---|
Initial release | December 16, 2001 |
Stable release | 3.1.0[1]
/ 26 November 2024 |
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 a free and open source software that provides a high availability load balancer and Proxy (forward proxy,[2] reverse proxy) for TCP and HTTP-based applications that spreads requests across multiple servers.[3] It is written in C[4] and has a reputation for being fast and efficient (in terms of processor and memory usage).[5]
HAProxy is used by a number of high-profile websites including GoDaddy, GitHub, Bitbucket,[6] Stack Overflow,[7] Reddit, Slack,[8] Speedtest.net, Tumblr, Twitter[9][10] and Tuenti[11] and is used in the OpsWorks product from Amazon Web Services.[12]
History
HAProxy was written in 2000[13] by Willy Tarreau,[14] a core contributor to the Linux kernel,[15] who still maintains the project.
In 2013, the company HAProxy Technologies, LLC was created.[citation needed] 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 proxy
- Gzip compression
- Caching
- PROXY Protocol support
- Scriptable multi-layer Health checking
- Connection and HTTP message logging
- HTTP/2[16] support on both sides
- HTTP/3[17] support
- WebSocket (RFC6455 and RFC8441)
- UDP/TCP Syslog load-balancing and forwarding/transcribing (RFC3164 and RFC5424)
- Event-driven Multithreaded architecture
- Hitless reloads[18]
- gRPC Support[19]
- 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.[20]
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.[21]
Versions
HAProxy has had the following version releases:[22]
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 | 2017-11-26 | 2022-Q4 |
1.9 | 2018-12-19 | 2020-Q2 |
2.0 | 2019-06-16 | 2024-Q2 |
2.1 | 2019-11-25 | 2021-Q1 |
2.2 LTS | 2020-07-07 | 2025-Q2 (critical fixes only) |
2.3 | 2020-11-05 | 2022-Q1 |
2.4 LTS | 2021-05-14 | 2026-Q2 (critical fixes only) |
2.5 | 2021-11-23 | 2023-Q1 |
2.6 LTS | 2022-05-31 | 2027-Q2 |
2.7 | 2022-12-01 | 2024-Q1 |
2.8 LTS | 2023-05-31 | 2028-Q2 |
2.9 | 2023-12-05 | 2025-Q1 |
3.0 LTS | 2024-05-29 | 2029-Q2 |
Old version Old version, still maintained Current stable version Future release |
Performance
Servers equipped with 6 to 8 cores generally achieve between 200,000 and 500,000 requests per second, and have no trouble saturating a 25 Gbit/s connection under Linux.[23] 64-core ARM servers were shown to reach 2 million requests per second and 100 Gbit/s.[24]
Similar software
See also
References
- ^ "Release 3.1.0". 26 November 2024. Retrieved 23 December 2024.
- ^ "HAProxy as Forward Proxy".
- ^ "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. 24 July 2014. 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 /