HAProxy is a load balancer TCP/HTTP , commonly used to improve the performance of web sites and services by spreading requests across multiple servers. It is written in C and has a reputation for being fast, efficient (in terms of processor and memory usage) and stable.
HAProxy stands for High Availability Proxy, and is a great TCP/HTTP load balancer. It distributes a workload across a set of servers to maximize performance and optimize resource usage.
A front-end application that relies on a database backend can easily over-saturate it with too many concurrent running connections. HAProxy provides queuing and throttling of connections towards one or more MySQL Servers and prevents a single server to become overloaded with too many requests.
All clients connect to the HAProxy instance, and the proxy forwards the connection to one of the available MySQL Servers based on the load-balancing scheme used.