Heim >Backend-Entwicklung >PHP-Tutorial >Nginx-Server-Lastausgleichskonfiguration
Zu den häufig verwendeten Lastausgleichslösungen gehören die folgenden:
1. Polling
Polling ist Round Robin, das die Webanforderungen des Clients der Reihe nach entsprechend der Reihenfolge in der Nginx-Konfigurationsdatei verteilt.
Konfigurationsbeispiele lauten wie folgt:
http{
Upstream-Beispielanwendung {
Server <
Server << ; ein weiterer DNS-Eintrag oder eine IP-Adresse (optional mit Port)>>;
}
....
server{
listen 80;
...
location / {
Proxy_pass http://sampleapp;
} }
}
2. Mindestverbindungen
Webanfragen werden an den Server mit der geringsten Anzahl von Verbindungen weitergeleitet.
Konfigurationsbeispiele lauten wie folgt:
http{
upstream sampleapp {
least_conn;
server <
server <
}
....
server{
listen 80;
...
Standort / {
Proxy_Pass http://sampleapp;
} }
}
3. In den beiden oben genannten Lastausgleichslösungen sind aufeinanderfolgende Webanfragen von derselben Der Client wird möglicherweise zur Verarbeitung an verschiedene Back-End-Server verteilt. Wenn also eine Sitzung beteiligt ist, wird die Sitzung komplizierter. Üblich ist die datenbankbasierte Sitzungspersistenz. Um die oben genannten Probleme zu überwinden, können Sie eine Lastausgleichslösung verwenden, die auf IP-Adress-Hashing basiert. In diesem Fall werden aufeinanderfolgende Webanfragen desselben Clients zur Verarbeitung an denselben Server verteilt.
Konfigurationsbeispiele lauten wie folgt:
http{
upstream sampleapp {
ip_hash;
server <
server <
}
....
server{
listen 80;
...
location / {
Proxy_pass http://sampleapp;
} }
}
4. Gewichtungsbasierter Lastausgleich
Auf diese Weise können wir Nginx so konfigurieren, dass mehr Anfragen gestellt werden Häufig an Back-End-Server mit hoher Konfiguration verteilen und relativ wenige Anfragen an Server mit niedriger Konfiguration verteilen.
Konfigurationsbeispiele sind wie folgt:
http{
Upstream-Beispielapp {
Server <
Server < ;
}
....
server{
listen 80;
...
location / {
Proxy_Pass http://sampleapp;
}
}
Das obige Beispiel konfiguriert Weight=2 nach der Serveradresse und dem Port, was bedeutet, dass jedes Mal, wenn 3 Anfragen empfangen werden, The Die ersten beiden Anfragen werden an den ersten Server verteilt und die dritte Anfrage wird an den zweiten Server verteilt. Die anderen Konfigurationen sind dieselben wie die Abfragekonfiguration.