Software:HAProxy
Original author(s) | Willy Tarreau |
---|---|
Initial release | December 16, 2001 |
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.[1] It is written in C[2] and has a reputation for being fast and efficient (in terms of processor and memory usage).[3]
HAProxy is used by a number of high-profile websites including GoDaddy, GitHub, Bitbucket,[4] Stack Overflow,[5] Reddit, Slack,[6] Speedtest.net, Tumblr, Twitter[7][8] and Tuenti[9] and is used in the OpsWorks product from Amazon Web Services.[10]
History
HAProxy was written in 2000[11] by Willy Tarreau,[12] a core contributor to the Linux kernel,[13] 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 proxy
- Gzip compression
- Caching
- PROXY Protocol support
- Scriptable multi-layer Health checking
- Connection and HTTP message logging
- HTTP/2[14] support on both sides
- HTTP/3[15] support
- WebSocket (RFC6455 and RFC8441)
- UDP/TCP Syslog load-balancing and forwarding/transcribing (RFC3164 and RFC5424)
- Event-driven Multithreaded architecture
- Hitless reloads[16]
- gRPC Support[17]
- 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.[18]
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.[19]
Versions
HAProxy has had the following version releases:[20]
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) |
{{{2}}} |
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.[21] 64-core ARM servers were shown to reach 2 million requests per second and 100 Gbit/s.[22]
Similar software
See also
References
- ↑ "MySQL Load Balancing with HAProxy". Severalnines AB. 2011. http://www.severalnines.com/resources/clustercontrol-mysql-haproxy-load-balancing-tutorial#what. Retrieved 19 February 2013.
- ↑ "HAProxy on Freecode". http://freecode.com/projects/haproxy. Retrieved 5 April 2013.
- ↑ "Nuts & Bolts: HAproxy". http://37signals.com/svn/posts/1073-nuts-bolts-haproxy. Retrieved 8 April 2013.
- ↑ "The inner guts of Bitbucket". https://www.youtube.com/watch?v=2ll2ER3wpus. Retrieved 26 February 2015.
- ↑ "What it takes to run Stack Overflow". http://nickcraver.com/blog/2013/11/22/what-it-takes-to-run-stack-overflow/. Retrieved 22 November 2013.
- ↑ "All Hands on Deck". Slack Engineering. 29 June 2020. https://slack.engineering/all-hands-on-deck-91d6986c3ee.
- ↑ "HAProxy: they use it!". http://haproxy.1wt.eu/they-use-it.html. Retrieved 5 April 2013.
- ↑ "List of sites using HAProxy". http://lineofthought.com/tools/haproxy.
- ↑ "Tuenti+WebRTC (Voip2day 2014)". https://vimeo.com/109608566.
- ↑ "HAProxy layer - AWS Opsworks". http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-load.html. Retrieved 5 April 2013.
- ↑ "HAProxy: design choices and history". http://haproxy.1wt.eu/#desi. Retrieved 5 April 2013.
- ↑ "Willy Tarreau: About me". http://1wt.eu/#wami. Retrieved 5 April 2013.
- ↑ "LKML: Willy Tarreau: [ANNOUNCE Linux 2.4.37.11"]. https://lkml.org/lkml/2010/12/18/73. Retrieved 5 April 2013.
- ↑ Corbett, Daniel (2018-12-19). "HAProxy 1.9 Has Arrived" (in en-US). https://www.haproxy.com/blog/haproxy-1-9-has-arrived/.
- ↑ Ramirez, Nick (2022-05-31). "Announcing HAProxy 2.6" (in en-US). https://www.haproxy.com/blog/announcing-haproxy-2-6#http3-over-quic.
- ↑ Mhedhbi, Moemen (2018-05-31). "Hitless Reloads / Hot Restarts with HAProxy!" (in en-US). https://www.haproxy.com/blog/hitless-reloads-with-haproxy-howto/.
- ↑ Ramirez, Nick (2019-01-16). "HAProxy 1.9.2 Adds gRPC Support" (in en-US). https://www.haproxy.com/blog/haproxy-1-9-2-adds-grpc-support/.
- ↑ "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". https://www.haproxy.com/products/aloha-hardware-appliance/.
- ↑ "HAProxy". http://www.haproxy.org.
- ↑ haproxy
.org #plat - ↑ www
.haproxy .com /blog /haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance /
External links
- HAProxy Open Source Website
- HAProxy Enterprise Website
- HAProxy Wiki on GitHub
- HAProxy issue tracker on GitHub
Original source: https://en.wikipedia.org/wiki/HAProxy.
Read more |