|
|
Veröffentlicht am 14.06.2020 11:50:26
|
|
|
|

Ich nutze seit über 6 Jahren das Load Balancing von Alibaba Cloud und NGINX seit über 6 Jahren.
Lastverteilung baut auf bestehenden Netzwerkstrukturen auf und bietet eine kostengünstige, effektive und transparente Möglichkeit, die Bandbreite von Netzwerkgeräten und Servern zu skalieren, den Durchsatz zu erhöhen, die Datenverarbeitungsfähigkeiten des Netzwerks zu verbessern sowie die Flexibilität und Verfügbarkeit des Netzwerks zu verbessern. Lastverteilung bedeutet, dass sie auf mehrere Betriebssysteme verteilt wird, wie Webserver, FTP-Server, unternehmenskritische Anwendungsserver und andere missionskritische Server, um gemeinsam Arbeitsaufgaben zu erledigen. Kurz gesagt: Es verteilt mehrere Anfragen an verschiedene Server im Backend, um den Druck auf jeden Server zu verringern und eine hohe Verfügbarkeit zu erreichen; selbst wenn ein Server auflegt, hat das keine Auswirkung.
Zuallererst
Ich habe node.js nativ installiert und den HTTP-Server installiert, um zwei Webcontainer zu emulieren. (Verwenden Sie IIS oder implementieren Sie das HTTP-Protokoll mit Ihrem eigenen Code)
Nach der Installation node.js führen Sie folgenden Befehl aus:
Simuliere zwei Backend-Standorte
Ich habe zwei neue Ordner erstellt, site1 und site2, unter dem E:\wwwroot-Verzeichnis, jeweils mit einer index.html Datei.
Der Inhalt ist: Index 1 by:itsvse.com und Index 2 by:itsvse.com
Dann hören Sie die beiden HTTP-Ports mit folgendem Befehl an, um die beiden Seiten zu öffnen.
Versuche, beide Stationen separat zu erreichen:Der Hyperlink-Login ist sichtbar. Der Hyperlink-Login ist sichtbar.Die Darstellungen sind wie folgt:
NGINX-Lastverteilungskonfiguration
Laden Sie die Windows-Version von nginx unter folgender Adresse herunter:Der Hyperlink-Login ist sichtbar.
Nach dem Download entpacken Sie es in das Verzeichnis E:\wwwroot\nginx-1.18.0. Ändern Sie die Datei E:\wwwroot\nginx-1.18.0\conf\nginx.conf wie folgt:
Starte das nginx-Programm mit folgendem Befehl:
nginx -s Stopp Schnellabschaltung nginx -s Quit Graceful Shutdown nginx-s neu laden, Konfiguration ändern, neue Worker-Prozesse mit einer neuen Konfiguration starten, alte Worker-Prozesse elegant abschalten nginx -s Logdateien neu öffnen Zugriff auf die nginx-Lastverteilungsseite über einen Browser:Der Hyperlink-Login ist sichtbar.
Wir aktualisieren und überprüfen viele Male erneut und stellen fest, dass der zurückgegebene Inhalt jedes Mal unterschiedlich ist, und man sieht, dass nginx unterschiedliche Anfragen an verschiedene HTTP-Dienste im Backend verteilt.Wenn wir versuchen, die Site1-Seite zu stoppen, sehen wir, dass dies unseren normalen Zugriff nicht beeinträchtigt, und nginx leitet alle Anfragen an die Site2-Seite weiter。
Nginx-Lastenausgleich-Konfigurationsstatus
| Zustand | Überblick | | Unten | Der aktuelle Server nimmt vorerst nicht an der Lastverteilung teil | | Backup | Reservierte Backup-Server werden aktiviert, wenn alle anderen Server aufgehängt sind | | max_fails | Die Anzahl der zugelassenen fehlgeschlagenen Anfragen: Wenn die Anzahl der fehlgeschlagenen Anfragen das Limit überschreitet, wird der Server nach fail_timeout Zeit aus dem virtuellen Servicepool gelöscht | | fail_timeout | Nach einem max_fails Ausfall pausiert der Dienst die Zeit, max_fails der fail_timeout Wert festgelegt werden muss | | max_conns | Begrenze die maximale Anzahl der Verbindungen für verschiedene Serverhardware-Konfigurationen |
Nginx Lastverteilungs-Planungsrichtlinie
| Planungsalgorithmen | Überblick | | Pollot | Man kann einzeln abfragen, die Standardmethode | | Gewicht | Bei gewichteten Umfragen gilt: Je höher das Gewicht, desto höher ist die Verteilungschance | | ip_hash | Die Zuweisung von Hash-Ergebnissen aus der zugreifenden IP führt dazu, dass Anfragen von derselben IP-Adresse auf einen festen Hintergrundserver zugreifen | | url_hash | Zuweisen Sie entsprechend dem Hash-Ergebnis der besuchten URL | | least_conn | Die Mindestanzahl an Links, der Server mit weniger Links wird zugewiesen | | Hash-Schlüsselwert | Hash-benutzerdefinierter Schlüssel |
Weitere Informationen zu nginx-Konfigurationen finden Sie unter:Der Hyperlink-Login ist sichtbar.
|
Vorhergehend:Nginx-Log-Splitting und -LöschungNächster:Das Konzept und der Unterschied zwischen ITO, BPO, KPO und den drei
|