HAProxy

Source: Wikipedia, the free encyclopedia.
Original author(s)Willy Tarreau
Initial releaseDecember 16, 2001; 22 years ago (2001-12-16)
Stable release
2.9.0[1] Edit this on Wikidata / 5 December 2023
Repository
Written in
AIX (5.1–5.3), macOS, Cygwin
LicenseGNU General Public License Version 2
Websitewww.haproxy.org

HAProxy is a

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

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 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
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 LTS 2017-11-26 2022-Q4
Old version, no longer maintained: 1.9 2018-12-19 2020-Q2
Older version, yet still maintained: 2.0 LTS 2019-06-16 2024-Q2 (critical fixes only)
Old version, no longer maintained: 2.1 2019-11-25 2021-Q1
Older 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
Older version, yet still maintained: 2.4 LTS 2021-05-14 2026-Q2
Old version, no longer maintained: 2.5 2021-11-23 2023-Q1
Older version, yet still maintained: 2.6 LTS 2022-05-31 2027-Q2
Old version, no longer maintained: 2.7 2022-12-01 2024-Q1
Older version, yet still maintained: 2.8 LTS 2023-05-31 2028-Q2
Current stable version: 2.9 2023-12-05 2025-Q1
Legend:
Old version
Older version, still maintained
Current stable version
Latest preview 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

  • LEAP

References

  1. ^ "Release 2.9.0". 5 December 2023. Retrieved 19 December 2023.
  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. 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/

External links