Das Ziel von Loadbalancing ist die Lastverteilung. Eine Anfrage wird somit nicht nur von einem Server verarbeitet sondern gleich von mehreren. Dazu muss jeder Server die gleichen Daten besitzen, dies wird u.a. durch geteilte (Cloud) Speicher und Datenbanken gelöst. Diese Anleitung nutzt das NGINX Modul für das Loadbalancing. Dieses wird direkt mit geliefert in dem Debian-Repository.
http { upstream balancer { server 192.168.1.150; server 192.168.1.151; server 192.168.1.152; } server { listen 80; location / { proxy_pass http://balancer; } } }
Namespace | Aufgabe |
---|---|
http | Definiert die Art für das Protokoll |
http.upstream | Erstellung einer „Serversammlung“ |
http.server | Erstellung des eigentlichen Servers |
http.server.listen | Horchen auf Port 80 |
Name | Beschreibung | Namespace |
---|---|---|
ip_hash 1) | Zuweisung des Servers anhand der IP | upstream |
least_conn 2) | Zuweisung des Servers anhand der Session | upstream |
weight 3) | Gewichtung der Server | upstream.server |
Health-Checks | max_fails und fail_timeout werden häufig zusammen verwendet | |
max_fails 4) | Setzten der Maximalversuche für einen Ping des Servers | upstream.server |
fail_timeout 5) | Interne Angabe, wie langer der Server als offline gemeldet sein soll | upstream.server |
max_conns 6) | Interne Angabe, wie langer der Server als offline gemeldet sein soll | upstream.server |
down 7) | Interne Angabe, dass der Server offline ist | upstream.server |