HA Proxy è l'acronimo di High Availability Proxy scritto su C. È una soluzione di bilanciamento del carico e proxy TCP/HTTP gratuita e open source per applicazioni basate su TCP e HTTP. HA Proxy ti consente di bilanciare il traffico TCP/HTTP in entrata distribuendo il carico sul server back-end utilizzando criteri diversi.
L'uso di HA Proxy serve a fornire tolleranza agli errori e disponibilità elevata nel caso in cui un nodo riceva troppe richieste simultanee. È utilizzato dai siti Web più famosi come GitHub, Stack Overflow e Tumbler.
HA Proxy consente a un'applicazione di riavviarsi automaticamente o di reindirizzare il lavoro a un altro server in caso di errore. HA Proxy è un sistema di bilanciamento del carico potente, ad alta potenza, affidabile e sicuro.
Nel suo tutorial installeremo e configureremo HA Proxy su CentOS 8.
Installa proxy HA:
yum -y install haproxy
Configura proxy HA:
Si noti che la configurazione seguente è per l'applicazione che utilizza la connessione TCP per connettersi alla macchina/applicazione di destinazione.
Ha proxy La configurazione prevede 4 passaggi:
- impostazioni globali: Innanzitutto, utilizziamo per impostare parametri a livello di processo.
- predefiniti: In secondo luogo, utilizziamo i valori predefiniti per impostare i parametri predefiniti per tutte le altre sezioni.
- front-end: In questa sezione definiamo come accediamo a HA Proxy esternamente per consentire l'accesso al back-end.
- backend: Utilizzato per definire un insieme di server a cui si connetterà il proxy per inoltrare le connessioni in entrata.
Ora, crea una directory denominata run in /etc/haproxy per il socket delle statistiche.
mkdir /etc/haproxy/run
Aprire il file di configurazione del proxy HA con il seguente comando:
nano /etc/haproxy/haprxoy.conf
Rimuovere la configurazione di default presente nel file.
Ora aggiungi la seguente configurazione:
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
Si noti che la configurazione sopra è per la connessione TCP o l'applicazione in cui è richiesta la connessione TCP con il server. Puoi anche eseguire la configurazione per le applicazioni HTTP sostituendo tcp con http nella configurazione precedente.
Avvia e abilita il proxy HA:
systemctl start haproxy.service
systemctl enable haproxy.service
systemctl status haproxy.service
Apri l'URL del proxy HA per vedere le statistiche delle connessioni.