HAProxy for Heimdall Proxy Load Balancing
Introduction
HAProxy is a reliable and high-performance TCP/HTTP load balancer that can be used to distribute traffic across multiple backend servers like Heimdall Proxy. This guide provides a step-by-step approach to installing and configuring HAProxy on an Ubuntu system for Heimdall Proxies load balancing.
Prerequisites
- A system running Linux distribution.
- Heimdall Proxy installed on the backend servers.
Step 1: Install HAProxy
First, update the package list and install HAProxy using the following command:
sudo apt update && sudo apt upgrade -y
sudo apt install haproxy -y
Verify the installation:
haproxy -v
Enable HAProxy to start on system boot:
sudo systemctl enable haproxy
Step 2: Configure HAProxy for Heimdall Load Balancing
Edit HAProxy Configuration File
Open the HAProxy configuration file:
sudo nano /etc/haproxy/haproxy.cfg
Replace the existing content or append the following configuration:
defaults
mode tcp
frontend ft_postgres
bind *:5432
default_backend bk_postgres
backend bk_postgres
balance roundrobin
server pg-proxy1 192.168.88.121:5432 check
server pg-proxy2 192.168.88.120:5432 check
Explanation:
mode tcp
ensures HAProxy works in TCP mode, required for PostgreSQL connections.bind *:5432
instructs HAProxy to listen on port 5432.balance roundrobin
enables equal distribution of connections across backend servers.check
enables health checks to monitor backend server availability.
Save the file (CTRL + X
, then Y
and Enter
).
Step 3: Restart and Verify HAProxy
Restart HAProxy to apply the new configuration:
sudo systemctl restart haproxy
Check HAProxy’s status:
sudo systemctl status haproxy
Ensure HAProxy is listening on port 5432:
ss -tulnp | grep haproxy
Step 4: Test Heimdall Proxy Connection via HAProxy
To verify the setup, try connecting to Heimdall Proxy through HAProxy:
psql -h <haproxy_server_ip> -p 5432 -U <db_user> -d <database_name>
Replace <haproxy_server_ip>
with the HAProxy host IP.
Replace <db_user>
and <database_name>
accordingly.
Note:
Heimdall Proxy instances running on 192.168.88.121
and 192.168.88.120
, ensuring high availability.
Conclusion
This guide provides the essential steps to install and configure HAProxy for PostgreSQL load balancing with Heimdall Proxy. By following these steps, you can ensure high availability, efficient load distribution, and failover support for your PostgreSQL database cluster.