HAProxy (High Availability Proxy) is a TCP/HTTP load balancer and proxy server that allows a webserver to spread incoming requests across multiple endpoints. It is particularly suited for web sites crawling under very high loads while needing persistence or Layer7 processing. It distributes workload across a set of servers to maximize performance and optimize resource usage. HAProxy can be used for Web applications (HTTP/ HTTPS) as well as for TCP based applications (MySQL, SSL, SMTP) etc.
Keep databases consistent and available at all times. Database Clustering is the process of running your databases on more than one interconnected servers that provides redundancy, high-availability and consistent performance. This is also ensured by failover to redundant hot copies of your data in the event of your active database failing. Database clustering is used by many mission critical applications.