HAProxy is a web server with a very narrow specialization. Its main task is to distribute the load and create fault tolerance on the servers. The software redirects user requests according to the rules set by the site administrator. It works over TCP and HTTP protocols.
HAProxy is a well-known product all over the world. It is used by large IT companies: Avito, DevianArt, Github, Twitter, etc. The product works only on Unix family operating systems and is supplied free of charge.
Functionality
- Load balancer. The utility redirects requests to less loaded servers in order to increase the speed of data processing and provide responses to requests in a timely manner.
- Monitoring. HAProxy regularly monitors all servers that are listed as alternatives. If the load increases on one of them, requests begin to arrive on the others. Monitoring takes place in real time.
- Reservation. If necessary, the administrator sets rules on the web server, according to which HAProxy assigns certain clients to a dedicated server or servers.
- TLS SNI support. The plugin allows you to highlight incoming requests with the HTTPS protocol, which are sent to a dedicated server if a processing template is specified.
- Simple integration. HAProxy is easy to install and integrate into existing clusters.
Configuration
HAProxy is flexible in configuration. The software product contains 5 main sections for configuration.
- Global. The module is responsible for the general settings of the software product, for example, time synchronization, the address of the log file entry, etc.
- Defaults. The configuration file is responsible for the settings that are used by the utility by default.
- Listen. The component contains a full description of the proxy and information about the last 2 sections.
- Frontend. Defines the way in which requests are sent for processing, the choice depends on the type of request.
- Backend. It is responsible for load balancing between servers, depending on the selected type of incoming information processing.
Each of the above configuration files can be configured by the administrator for their own tasks. The utility supports the query distribution function.
As a rule, the first 3 files undergo minimal changes or are not edited at all, and the last 2 are completely changed to meet the current site loads.
HAProxy is a completely free product and is responsible only for certain tasks, and also does an excellent job with compressing HTTP traffic.