HAProxy
   HOME

TheInfoList



OR:

HAProxy is a
free and open source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
that provides a
high availability High availability (HA) is a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period. Modernization has resulted in an increased reliance on these systems. F ...
load balancer In computing, load balancing is the process of distributing a set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient. Load balancing can optimize the response time and avoid unevenl ...
and
reverse proxy In computer networks, a reverse proxy is the application that sits in front of back-end applications and forwards client (e.g. browser) requests to those applications. Reverse proxies help increase scalability, performance, resilience and securi ...
for TCP and
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
-based applications that spreads requests across multiple servers. It is written in C and has a reputation for being fast and efficient (in terms of processor and memory usage). HAProxy is used by a number of high-profile websites including
GoDaddy GoDaddy Inc. is an American publicly traded Internet domain registrar and web hosting company headquartered in Tempe, Arizona, and incorporated in Delaware. , GoDaddy has more than 21 million customers and over 6,600 employees worldwide. The ...
,
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continu ...
,
Bitbucket Bitbucket is a Git-based source code repository hosting service owned by Atlassian. Bitbucket offers both commercial plans and free accounts with an unlimited number of private repositories. Services Bitbucket Cloud Bitbucket Cloud (previ ...
,
Stack Overflow In software, a stack overflow occurs if the call stack pointer exceeds the stack bound. The call stack may consist of a limited amount of address space, often determined at the start of the program. The size of the call stack depends on many facto ...
,
Reddit Reddit (; stylized in all lowercase as reddit) is an American social news aggregation, content rating, and discussion website. Registered users (commonly referred to as "Redditors") submit content to the site such as links, text posts, imag ...
, Slack, Speedtest.net,
Tumblr Tumblr (stylized as tumblr; pronounced "tumbler") is an American microblogging and social networking website founded by David Karp in 2007 and currently owned by Automattic. The service allows users to post multimedia and other content to a sho ...
,
Twitter Twitter is an online social media and social networking service owned and operated by American company Twitter, Inc., on which users post and interact with 280-character-long messages known as "tweets". Registered users can post, like, and ...
and
Tuenti Tuenti Technologies, S.L.U is a mobile virtual network operator (MVNO) that operates with the Tuenti brand owned by TelefĂłnica. It is a Spain-based tech company that focuses on providing a cloud-based services through its own application and i ...
and is used in the OpsWorks product from
Amazon Web Services Amazon Web Services, Inc. (AWS) is a subsidiary of Amazon that provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis. These cloud computing web services provide d ...
.


History

HAProxy was written in 2000 by Willy Tarreau, a core contributor to the Linux kernel, who still maintains the project. In 2013, the company HAProxy Technologies, LLC was created. The company provides a commercial offering, HAProxy Enterprise and appliance-based application-delivery controllers named ALOHA.


Features

HAProxy has the following features: *
Layer 4 In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end ...
(TCP) and
Layer 7 The Open Systems Interconnection model (OSI model) is a conceptual model that 'provides a common basis for the coordination of SOstandards development for the purpose of systems interconnection'. In the OSI reference model, the communications ...
(HTTP) load balancing * Multi-factor stickiness *
URL rewriting In web applications, a rewrite engine is a software component that performs rewriting on URLs (Uniform Resource Locators), modifying their appearance. This modification is called URL rewriting. It is a way of implementing URL mapping or routing ...
*
Rate limiting In computer networks, rate limiting is used to control the rate of requests sent or received by a network interface controller. It can be used to prevent DoS attacks and limit web scraping. Research indicates flooding rates for one zombie machin ...
* SSL/TLS termination * Gzip compression * Caching * PROXY Protocol support * Scriptable multi-layer Health checking * Connection and HTTP message logging *
HTTP/2 HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
support on both sides *
WebSocket WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as in 2011. The current API specification allowing web applications ...
(RFC6455 and RFC8441) * UDP/TCP Syslog load-balancing and forwarding/transcribing (RFC3164 and RFC5424) * Event-driven Multithreaded architecture * Hitless reloads *
gRPC gRPC (Google Remote Procedure Calls) is a cross-platform open source high performance Remote procedure call, Remote Procedure Call (RPC) framework. gRPC was initially created by Google, which has used a single general-purpose RPC infrastructure ...
Support *
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
and SPOE Support *
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
Support * Layer 4/7 Retries * Simplified circuit breaking * Advanced debugging and tracing facilities * Distributed stick-tables for stats collection and
DoS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
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.


ALOHA

HAProxy Technologies’ ALOHA is a
plug-and-play In computing, a plug and play (PnP) device or computer bus is one with a specification that facilitates the recognition of a hardware component in a system without the need for physical device configuration or user intervention in resolving reso ...
load-balancing appliance that can be deployed in any environment. ALOHA provides a
graphical interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
and a templating system that can be used to deploy and configure the appliance.


Versions

HAProxy has had the following version releases:


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/s connection under Linux. 64-core ARM servers were shown to reach 2 million requests per second and 100 Gbit/s.


Similar software

*
Nginx Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
*
Gearman Gearman is an open-source application framework designed to distribute appropriate computer tasks to multiple computers, so large tasks can be done more quickly. In some cases, load balancing rather than raw speed may be the main goal; a Web serv ...
* Pound * Varnish


See also

*
LAMP Lamp, Lamps or LAMP may refer to: Lighting * Oil lamp, using an oil-based fuel source * Kerosene lamp, using kerosene as a fuel * Electric lamp, or light bulb, a replaceable component that produces light from electricity * Light fixture, or li ...
, LYME, and LEAP


References

{{Reflist, 30em


External links


HAProxy Open Source Website

HAProxy Enterprise Website

HAProxy Wiki on GitHub

HAProxy issue tracker on GitHub
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