【Implementierungsfunktion】
1. Konfigurieren Sie drei Server
2. Stellen Sie den gleichen Dienst auf jeweils drei Servern bereit 🎜#
3. Verwenden Sie Nginx, um einen Lastausgleich zu erreichen auf einem interaktiven Server und konfigurieren Sie Verbindungen mit den anderen beiden Servern. Alle Anfragen greifen direkt auf die Nginx-Dienstschnittstelle zu, und dann wählt der Nginx-Load-Balancer den tatsächlichen aufrufenden Server-Port.【Entwicklungs- und Bereitstellungsumgebung】
Entwicklungsumgebung: Windows 7 x64 SP1 Englische Version visualstudio 2017# 🎜🎜 ## 🎜🎜#Bereitstellungsumgebung: Alibaba Cloud ECS -Instanz -Windows Server 2012 X64#🎜🎜 ## 🎜🎜#IIS 7.0#🎜🎜 ## 🎜🎜 ## 🎜🎜#【Erforderliche Technologie】#🎜🎜 ## 🎜 🎜#asp.net webapi2
[Implementierungsprozess]Verwenden Sie asp.net webapi2, um eine einfache Rückgabe-JSON-Schnittstelle zu schreiben Um zu zeigen, dass wir Schnittstellen auf verschiedenen Servern aufrufen, haben wir drei Schnittstellendienste in digitaler Form generiert und sie jeweils im IIS der drei Server bereitgestellt.
public ihttpactionresult gettest() { //throw new exception_dg_internationalization(1001); string ip = request.getipaddressfromrequest(); return ok("test api . client ip address is -> "+ip+" the server is ===== 333 ====="); }
Die Zahlen hinter den drei von mir bereitgestellten Servern sind 111, 222, 333
Hinweis: return ok ist mein benutzerdefiniertes Rückgabeformat, der spezifische einfache Code kann direkt return json sein ();
request.getipaddressfromrequest(); ist meine erweiterte Methode zum Abrufen der IP-Adresse. Bitte implementieren Sie sie entsprechend Ihrer eigenen Situation.
【Systemtest】Nachdem wir die drei Hintergrundcodes generiert haben, stellen wir sie jeweils auf drei Servern bereit. Um die Serverinformationen vertraulich zu halten, werden alle meine IP-Adressen unten durch ip_a, ip_b, ip_c identifiziert
#🎜🎜 ## 🎜🎜#
Der dritte ist der Server, auf dem wir Nginx bereitstellen werden:
Nach der Bereitstellung fahren wir fort mit Nginx-Konfiguration:
Nginx herunterladen:Dann auf den ip_c-Server entpacken und nginx.conf# in der conf öffnen Ordner 🎜🎜#
Der bearbeitete Inhalt ist wie folgt
Dann starten wir die Dienst: #🎜🎜 #
cmd-Befehl zum Wechseln in das Stammverzeichnis von Nginx #🎜 🎜#Auf diese Weise, selbst wenn der Dienst gestartet wurde ... Um sich nur zu beschweren, warum nicht sagen, dass der Dienst erfolgreich gestartet wurde ... Nun, es ist nicht benutzerfreundlich! Dann öffnen wir ein beliebiges Schnittstellentesttool und führen dieselbe Anfrage dreimal aus: Anfrage 1, #🎜🎜 #Anfrage Zwei,
Anfrage Drei,
Es kann festgestellt werden, dass die aufgerufene Hintergrunddienstschnittstelle nicht für jede Anfrage gleich ist, was dafür sorgt, dass in einer großen Anzahl von Wenn Kunden auf dieselbe Serveradresse zugreifen, kann der Druck eines Servers auf mehrere Server verteilt werden, um einen Lastausgleich zu erreichen.Das obige ist der detaillierte Inhalt vonBeispielanalyse der Nginx-Lastausgleichskonfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!