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]

Original author(s)Willy Tarreau
Initial releaseDecember 16, 2001; 22 years ago (2001-12-16)
Stable release
3.0.0[1] Edit this on Wikidata / 29 May 2024
Repository
Written inC
Operating systemLinux, FreeBSD, OpenBSD, Solaris (8/9/10), AIX (5.1–5.3), macOS, Cygwin
LicenseGNU General Public License Version 2
Websitewww.haproxy.org

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

edit

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

edit

HAProxy has the following features:

HAProxy Community vs HAProxy Enterprise

edit

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

edit

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

edit

HAProxy has had the following version releases:[22]

Version Release date End of life
Old version, no longer maintained: 1.0 2001-12-16 2001-12-30
Old version, no longer maintained: 1.1 2002-03-10 2006-01-29
Old version, no longer maintained: 1.2 2003-11-09 2011-08-06
Old version, no longer maintained: 1.3 2006-06-29 2016-03-14
Old version, no longer maintained: 1.4 2010-02-26 2018-02-08
Old version, no longer maintained: 1.5 2014-06-19 2020-01-10
Old version, no longer maintained: 1.6 2015-10-13 2020-Q4
Old version, no longer maintained: 1.7 2016-11-25 2021-Q4
Old version, no longer maintained: 1.8 2017-11-26 2022-Q4
Old version, no longer maintained: 1.9 2018-12-19 2020-Q2
Old version, no longer maintained: 2.0 2019-06-16 2024-Q2
Old version, no longer maintained: 2.1 2019-11-25 2021-Q1
Old version, yet still maintained: 2.2 LTS 2020-07-07 2025-Q2 (critical fixes only)
Old version, no longer maintained: 2.3 2020-11-05 2022-Q1
Old version, yet still maintained: 2.4 LTS 2021-05-14 2026-Q2 (critical fixes only)
Old version, no longer maintained: 2.5 2021-11-23 2023-Q1
Old version, yet still maintained: 2.6 LTS 2022-05-31 2027-Q2
Old version, no longer maintained: 2.7 2022-12-01 2024-Q1
Old version, yet still maintained: 2.8 LTS 2023-05-31 2028-Q2
Old version, yet still maintained: 2.9 2023-12-05 2025-Q1
Current stable version: 3.0 LTS 2024-05-29 2029-Q2
Legend:
Old version
Old version, still maintained
Current stable version
Latest preview version
Future release

Performance

edit

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

edit

See also

edit

References

edit
  1. ^ "Release 3.0.0". 29 May 2024. Retrieved 22 June 2024.
  2. ^ "HAProxy as Forward Proxy".
  3. ^ "MySQL Load Balancing with HAProxy". Severalnines AB. 2011. Retrieved 19 February 2013.
  4. ^ "HAProxy on Freecode". Retrieved 5 April 2013.
  5. ^ "Nuts & Bolts: HAproxy". Retrieved 8 April 2013.
  6. ^ "The inner guts of Bitbucket". YouTube. 24 July 2014. Retrieved 26 February 2015.
  7. ^ "What it takes to run Stack Overflow". Retrieved 22 November 2013.
  8. ^ "All Hands on Deck". Slack Engineering. 29 June 2020. Retrieved 2020-07-07.
  9. ^ "HAProxy: they use it!". Retrieved 5 April 2013.
  10. ^ "List of sites using HAProxy". Archived from the original on 10 June 2013. Retrieved 5 April 2013.
  11. ^ "Tuenti+WebRTC (Voip2day 2014)".
  12. ^ "HAProxy layer - AWS Opsworks". Retrieved 5 April 2013.
  13. ^ "HAProxy: design choices and history". Retrieved 5 April 2013.
  14. ^ "Willy Tarreau: About me". Retrieved 5 April 2013.
  15. ^ "LKML: Willy Tarreau: [ANNOUNCE] Linux 2.4.37.11". Retrieved 5 April 2013.
  16. ^ Corbett, Daniel (2018-12-19). "HAProxy 1.9 Has Arrived". HAProxy Technologies. Retrieved 2019-01-22.
  17. ^ Ramirez, Nick (2022-05-31). "Announcing HAProxy 2.6". HAProxy Technologies. Retrieved 2023-07-30.
  18. ^ Mhedhbi, Moemen (2018-05-31). "Hitless Reloads / Hot Restarts with HAProxy!". HAProxy Technologies. Retrieved 2019-01-22.
  19. ^ Ramirez, Nick (2019-01-16). "HAProxy 1.9.2 Adds gRPC Support". HAProxy Technologies. Retrieved 2019-01-22.
  20. ^ "HAProxy Technologies Announces Improvements to Performance, Management, and Security for Enterprises" (Press release). 2 May 2018. Retrieved 23 Oct 2018.
  21. ^ "ALOHA Hardware Appliance Application Delivery Controller". Retrieved 23 Oct 2018.
  22. ^ "HAProxy". Retrieved 15 December 2022.
  23. ^ haproxy.org#plat
  24. ^ www.haproxy.com/blog/haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance/
edit