HA Proxy je zkratka pro High Availability Proxy napsané v C. Je to bezplatný a open source nástroj pro vyrovnávání zátěže TCP/HTTP a proxy řešení pro aplikace založené na TCP a HTTP. HA Proxy vám umožňuje vyvážit příchozí TCP / HTTP provoz rozložením zátěže mezi backend server pomocí různých kritérií.
Použití HA Proxy je poskytnout odolnost proti chybám a vysokou dostupnost v případě, kdy jeden uzel dostává příliš mnoho souběžných požadavků. Používají jej nejznámější webové stránky jako GitHub, Stack Overflow a Tumbler.
HA Proxy umožňuje automatické restartování aplikace nebo přesměrování práce na jiný server v případě selhání. HA Proxy je výkonný, vysoce výkonný, spolehlivý a bezpečný nástroj pro vyrovnávání zátěže.
V jeho tutoriálu nainstalujeme a nakonfigurujeme HA Proxy na CentOS 8.
Instalovat HA Proxy:
yum -y install haproxy
Konfigurace HA proxy:
Vezměte prosím na vědomí, že následující konfigurace je pro aplikaci, která používá připojení TCP k připojení k cílovému počítači / aplikaci.
Konfigurace serveru proxy Ha zahrnuje 4 kroky:
- globální nastavení: Nejprve používáme k nastavení parametrů celého procesu.
- výchozí: Za druhé, výchozí hodnoty používáme k nastavení výchozích parametrů pro všechny ostatní sekce.
- frontend: V této části definujeme, jak externě přistupujeme k HA Proxy, abychom umožnili přístup k backendu.
- backend: Používá se k definování sady serverů, ke kterým se bude proxy připojovat k předávání příchozích spojení.
Nyní vytvořte adresář s názvem run v /etc/haproxy pro stats socket.
mkdir /etc/haproxy/run
Otevřete konfigurační soubor HA proxy pomocí následujícího příkazu:
nano /etc/haproxy/haprxoy.conf
Odeberte výchozí konfiguraci obsaženou v souboru.
Nyní přidejte následující konfiguraci:
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
Upozorňujeme, že výše uvedená konfigurace je pro TCP spojení nebo aplikaci, kde je vyžadováno TCP spojení se serverem. Můžete také provést konfiguraci pro aplikace HTTP nahrazením tcp za http ve výše uvedené konfiguraci.
Spustit a povolit HA Proxy:
systemctl start haproxy.service
systemctl enable haproxy.service
systemctl status haproxy.service
Chcete-li zobrazit statistiky připojení, otevřete adresu URL HA Proxy.