HA Proxy steht für High Availability Proxy, geschrieben auf C. Es ist eine kostenlose und Open-Source-TCP/HTTP-Load-Balancer- und Proxy-Lösung für TCP- und HTTP-basierte Anwendungen. Mit HA Proxy können Sie den eingehenden TCP/HTTP-Datenverkehr ausgleichen, indem Sie die Last anhand verschiedener Kriterien auf den Backend-Server verteilen.
Die Verwendung von HA-Proxy dient der Bereitstellung von Fehlertoleranz und hoher Verfügbarkeit für den Fall, dass ein Knoten zu viele gleichzeitige Anforderungen erhält. Es wird von den bekanntesten Websites wie GitHub, Stack Overflow und Tumbler verwendet.
HA Proxy ermöglicht es einer Anwendung, im Falle eines Ausfalls automatisch neu zu starten oder Arbeit auf einen anderen Server umzuleiten. HA Proxy ist ein leistungsstarker, zuverlässiger und sicherer Load Balancer.
In seinem Tutorial werden wir HA Proxy auf CentOS 8 installieren und konfigurieren.
HA-Proxy installieren:
yum -y install haproxy
HA-Proxy konfigurieren:
Bitte beachten Sie, dass die folgende Konfiguration für Anwendungen gilt, die eine TCP-Verbindung verwenden, um eine Verbindung zum Zielcomputer / zur Zielanwendung herzustellen.
Die Proxy-Konfiguration umfasst 4 Schritte:
- globale Einstellungen: Zuerst setzen wir prozessweite Parameter.
- Standard: Zweitens verwenden wir defaults, um Standardparameter für alle anderen Abschnitte festzulegen.
- Frontend: In diesem Abschnitt definieren wir, wie wir extern auf HA Proxy zugreifen, um den Zugriff auf das Backend zu ermöglichen.
- Backend: Wird verwendet, um eine Reihe von Servern zu definieren, mit denen sich der Proxy verbindet, um eingehende Verbindungen weiterzuleiten.
Erstellen Sie nun ein Verzeichnis namens run in /etc/haproxy für stats socket.
mkdir /etc/haproxy/run
Öffnen Sie die HA-Proxy-Konfigurationsdatei mit dem folgenden Befehl:
nano /etc/haproxy/haprxoy.conf
Entfernen Sie die in der Datei vorhandene Standardkonfiguration.
Fügen Sie nun die folgende Konfiguration hinzu:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /etc/haproxy/run/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
option dontlognull
option tcplog
mode tcp
timeout connect 5000
timeout client 50000
timeout server 50000
listen stats
bind 192.168.7.38:3000
mode http
maxconn 10
timeout queue 300s
stats enable
stats refresh 10s
stats show-node
stats auth haproxyadmin:haproxyadmin
stats uri /haproxy
frontend server_front
bind *:9909
default_backend server_back
backend server_back
balance roundrobin
server S1 192.168.189.129:9909 check
server S2 192.168.189.130:9909 check
Bitte beachten Sie, dass die obige Konfiguration für TCP-Verbindungen oder Anwendungen gilt, bei denen eine TCP-Verbindung mit dem Server erforderlich ist. Sie können die Konfiguration auch für HTTP-Anwendungen vornehmen, indem Sie in der obigen Konfiguration tcp durch http ersetzen.
HA-Proxy starten und aktivieren:
systemctl start haproxy.service
systemctl enable haproxy.service
systemctl status haproxy.service
Öffnen Sie die HA-Proxy-URL, um die Verbindungsstatistik anzuzeigen.