Von Nginx unterstützter Lastausgleichsplanungsalgorithmus
1.Round Robin (Standard) (empfohlenes Lernen: Nginx-Tutorial)
Die Polling-Methode, die Anfragen nacheinander an jeden Hintergrundserver verteilt, ist die Standardmethode für den Lastausgleich.
Gilt für Situationen, in denen die Leistung der Hintergrundmaschine konsistent ist.
Ausgefallene Maschinen können automatisch aus der Serviceliste entfernt werden.
2.Gewicht
Verteilen Sie Anforderungen nach Gewicht auf verschiedene Maschinen, geben Sie die Abfragewahrscheinlichkeit an, das Gewicht ist proportional zum Zugriffsverhältnis und wird für ungleichmäßige Back-End-Serverleistungssituationen verwendet .
Zum Beispiel:
upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; }
3. IP_hash
Senden Sie die Anfrage basierend auf dem Hash-Wert der IP des Anforderers, der dies kann Stellen Sie sicher, dass die Anfrage von derselben IP-Adresse stammt und an einen festen Computer gesendet wird, der das Sitzungsproblem lösen kann.
Zum Beispiel:
upstream bakend { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; }
4.url_hash (Drittanbieter)
Anfragen basierend auf dem Hash-Wert der angeforderten URL auf verschiedene Maschinen aufteilen, Es ist effizient, wenn der Hintergrundserver zwischengespeichert wird.
Zum Beispiel:
Fügen Sie eine Hash-Anweisung im Upstream hinzu. Andere Parameter wie „weight“ können nicht in die Server-Anweisung geschrieben werden
upstream backend { server squid1:3128; server squid2:3128; hash $request_uri; hash_method crc32; }
Tipps:
upstream backend{#Definieren Sie die IP und den Gerätestatus des Lastausgleichsgeräts
ip_hash; server 127.0.0.1:9090 down; server 127.0.0.1:8080 weight=2; server 127.0.0.1:6060; server 127.0.0.1:7070 backup; }
Fügen Sie
<🎜 zum Server hinzu das muss Lastausgleich verwenden >
proxy_pass http://bakend/;
Der Status jedes Geräts ist auf:
1.down bedeutet, dass der vorherige Server vorübergehend nicht an der Last teilnimmt2.Gewicht Der Standardwert ist 1. Je größer das Gewicht, desto größer das Gewicht der Ladung. 3.max_fails: Die Anzahl der zulässigen Anforderungsfehler beträgt standardmäßig 1. Wenn die maximale Anzahl überschritten wird, wird der vom Modul „proxy_next_upstream“ definierte Fehler zurückgegeben. 4.fail_timeout: Die Pause Zeit nach Ausfällen von max_fails. 5.Backup: Wenn alle anderen Nicht-Backup-Maschinen ausgefallen oder ausgelastet sind, fordern Sie die Backup-Maschine an. Daher wird diese Maschine den geringsten Druck haben. nginx unterstützt die gleichzeitige Einrichtung mehrerer Lastausgleichsgruppen zur Verwendung durch ungenutzte Server. client_body_in_file_only Auf Ein gesetzt, können die Daten aus dem Client-Beitrag zum Debuggen in einer Datei aufgezeichnet werden client_body_temp_path Legen Sie das Verzeichnis der Aufzeichnungsdatei fest, um bis zu 3 Verzeichnisebenen einzurichten
Standort-Match-URLs. Sie können einen neuen Proxy-Lastausgleich durchführen
5. Anfragen und Antworten basierend auf der Hintergrundantwortzeit verteilen Eine kürzere Verteilungszeit führt zu mehr Anfragen. Zum Beispiel:
upstream backend { server server1; server server2; fair; }
Das obige ist der detaillierte Inhalt vonWas sind die Lastausgleichsalgorithmen von Nginx?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!