HAProxy
Original author(s) | Willy Tarreau |
---|---|
Initial release | December 16, 2001 |
Stable release | 2.4.2
/ July 7, 2021[1] |
Preview release | 2.5-dev1
/ June 30, 2021[2] |
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 free, 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 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
- 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[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:
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 |
Performance[]
Servers equipped with 6 to 8 cores generally achieve between 200000 and 500000 requests per second, and have no trouble saturating a 25 Gbit/sec connection under Linux.[21] 64-core ARM servers were shown to reach 2 million requests per second and 100 Gbps.[22]
Similar software[]
See also[]
References[]
- ^ "2.4 branch CHANGELOG". Retrieved 13 July 2021.
- ^ "2.5 branch CHANGELOG". Retrieved 13 July 2021.
- ^ "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". Retrieved 26 February 2015.
- ^ "What it takes to run Stack Overflow". Retrieved 22 November 2013.
- ^ "All Hands on Deck". 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.
- ^ 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". Retrieved 23 Oct 2018.
- ^ "ALOHA Hardware Appliance Application Delivery Controller". Retrieved 23 Oct 2018.
- ^ haproxy
.org #plat - ^ www
.haproxy .com /blog /haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance /
External links[]
- Free web server software
- Reverse proxy
- Proxy server software for Linux
- Free software programmed in C
- Unix network-related software
- Lua (programming language)-scriptable software