HAProxy is a free and open source software that provides a high availability load balancer and proxy server 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
Haproxy-logo.png
Original author(s)Willy Tarreau
Initial releaseDecember 16, 2001; 20 years ago (2001-12-16)
Stable release
2.5.0 / November 23, 2021; 47 days ago (2021-11-23)[1]
Preview release
2.6-dev0 / November 23, 2021; 47 days ago (2021-11-23)[2]
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]

HistoryEdit

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.

FeaturesEdit

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[16] support on both sides
  • WebSocket (RFC6455 and RFC8441)
  • UDP/TCP Syslog load-balancing and forwarding/transcripting (RFC3164 and RFC5424)
  • Event-driven Multithreaded architecture
  • Hitless Reloads (computing)[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 EnterpriseEdit

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]

ALOHAEdit

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]

VersionsEdit

HAProxy has had the following version releases:

Version Date
1.0 Dec 16, 2001
1.1 Mar 10, 2002
1.2 Sep 9, 2003
1.3 Mar 14, 2016
1.4 Mar 14, 2016
1.5 Dec 25, 2016
1.6 Jan 2, 2018
1.7 Apr 30, 2018
1.8 Sep 20, 2018
1.9 Dec 19, 2018
2.0 Jun 16, 2019
2.1 Nov 25, 2019
2.2 Jul 7, 2020
2.3 Nov 5, 2020
2.4 May 14, 2021
2.5 Nov 23,2021

PerformanceEdit

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.[21] 64-core ARM servers were shown to reach 2 million requests per second and 100 Gbit/s.[22]

Similar softwareEdit

See alsoEdit

ReferencesEdit

  1. ^ "2.5 branch CHANGELOG". Retrieved 31 December 2021.
  2. ^ "2.6 branch CHANGELOG". Retrieved 31 December 2021.
  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". Retrieved 26 February 2015.
  7. ^ "What it takes to run Stack Overflow". Retrieved 22 November 2013.
  8. ^ "All Hands on Deck". 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. ^ Mhedhbi, Moemen (2018-05-31). "Hitless Reloads / Hot Restarts with HAProxy!". HAProxy Technologies. Retrieved 2019-01-22.
  18. ^ Ramirez, Nick (2019-01-16). "HAProxy 1.9.2 Adds gRPC Support". HAProxy Technologies. Retrieved 2019-01-22.
  19. ^ "HAProxy Technologies Announces Improvements to Performance, Management, and Security for Enterprises". Retrieved 23 Oct 2018.
  20. ^ "ALOHA Hardware Appliance Application Delivery Controller". Retrieved 23 Oct 2018.
  21. ^ haproxy.org#plat
  22. ^ www.haproxy.com/blog/haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance/

External linksEdit