Original author(s) | Willy Tarreau |
---|---|
Initial release | December 16, 2001 |
Stable release | 2.8.4[1]
/ 17 November 2023 |
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 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]
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 proxy
- 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 200,000 and 500,000 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]
Similar software
See also
References
- ↑ "Latest versions". Retrieved 4 December 2023.
- ↑ "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 /