NGINX jako LoadBlancer
Przy większej aplikacji oraz posiadaniu odpowiedniego parku maszynowego, można fajnie wykorzystać nginx jako balancera.
Zakładajać iż posiadamy 7 serwerów, przy czym jeden to nasza „brama” webowa oraz jeden to serwer bazodanowy, pozostaje nam 5 maszyn jako serwer aplikacji.
Poniżej konfiguracja dla wymienionego scenariusza
upstream serwery_aplikacji {
ip_hash;
server app1.domena.pl fail_timeout=5s weight=5 max_fails=3;
server app2.domena.pl:8080 fail_timeout=10s slow_start=5s;
server app3domena.pl:8080 backup;
server app4.domena.pl:8080 backup;
server app5.domena.pl:8080 down;
}
server {
location / {
proxy_pass http://serwery_aplikacji;
}
}
weight = waga serwera, domyślnie jest to 1
max_fails = maksymalna liczba nieudanych połaczeń
backup = oznacz serwer zapasowy