Heim > Betrieb und Instandhaltung > Nginx > Was sind die Lastausgleichsalgorithmen von Nginx?

Was sind die Lastausgleichsalgorithmen von Nginx?

(*-*)浩
Freigeben: 2019-11-02 09:41:42
Original
6425 Leute haben es durchsucht

Was sind die Lastausgleichsalgorithmen von Nginx?

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;    
}
Nach dem Login kopieren

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;    
}
Nach dem Login kopieren

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;    
}
Nach dem Login kopieren

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; 
}
Nach dem Login kopieren

Fügen Sie
<🎜 zum Server hinzu das muss Lastausgleich verwenden >

proxy_pass http://bakend/;
Nach dem Login kopieren

Der Status jedes Geräts ist auf:

1.down bedeutet, dass der vorherige Server vorübergehend nicht an der Last teilnimmt

2.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;    
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage