1. Einführung in Layer 4 Load BalancingWas ist Layer 4-Load Balancing? Der sogenannte vierschichtige Lastausgleich bestimmt hauptsächlich den endgültigen internen Server, der basierend auf der Zieladresse und dem Port in der Nachricht sowie der vom Lastausgleichsgerät festgelegten Serverauswahlmethode ausgewählt wird. Am Beispiel des allgemeinen TCP: Wenn das Lastausgleichsgerät die erste SYN-Anforderung vom Client empfängt, wählt es einen optimalen Server aus, ändert die Ziel-IP-Adresse in der Nachricht (in die IP des Back-End-Servers) und leitet sie direkt an den Server weiter. Der TCP-Verbindungsaufbau, d. h. der Drei-Wege-Handshake, wird direkt zwischen dem Client und dem Server hergestellt, und das Lastausgleichsgerät spielt nur eine Weiterleitungsrolle, die der eines Routers ähnelt. Um sicherzustellen, dass die Antwortpakete des Servers korrekt an das Lastausgleichsgerät zurückgegeben werden können, wird in einigen Bereitstellungsszenarien möglicherweise die ursprüngliche Quelladresse der Nachricht beim Weiterleiten der Nachricht geändert. Anwendungsszenario 1. Schicht 4 + Schicht 7 für den Lastausgleich. Schicht 4 kann eine hohe Verfügbarkeit des Lastausgleichs von Schicht 7 gewährleisten. 2. Lastausgleich kann Portweiterleitung durchführen 3. Trennung von Lesen und Schreiben in der Datenbank Funktionen des Layer 4-Load-Balancing 1. Der Lastenausgleich der Schicht 4 kann nur das TCP/IP-Protokoll und das UDP-Protokoll weiterleiten und wird normalerweise zum Weiterleiten von Ports wie TCP/22 und UDP/53 verwendet. 2. Durch den Lastausgleich auf Schicht 4 kann das Portbegrenzungsproblem des Lastausgleichs auf Schicht 7 gelöst werden. (Beim Lastausgleich auf Schicht 7 können bis zu 65535 Portnummern verwendet werden.) 3. Der Lastausgleich der Schicht 4 kann das Hochverfügbarkeitsproblem des Lastausgleichs der Schicht 7 lösen (mehrere Lastausgleichsvorgänge auf der Backend-Schicht 7 können gleichzeitig verwendet werden). 4. Die Weiterleitungseffizienz der Schicht 4 ist viel höher als die der Schicht 7, sie unterstützt jedoch nur das TCP/IP-Protokoll, nicht die Protokolle HTTP und HTTPS. 5. Normalerweise wird in Szenarien mit hoher Parallelität ein vierschichtiger Lastausgleich vor der siebenschichtigen Last hinzugefügt. 2.4 Aufbau einer Layer-Load-Balancing-UmgebungUmgebungsvorbereitung
Erstellen Sie Nginx mit lb4 und lb02 # Yum-Quelle konfigurieren [nginx-stable] Name=stabiles Nginx-Repository Basis-URL = http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 aktiviert=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true # Installieren Sie Nginx [root@lb02 ~]# yum installiere nginx -y [root@lb4 ~]# yum installiere nginx -y # Benutzer erstellen [root@lb02 ~]# groupadd www -g 666 && useradd www -u 666 -g 666 -s /sbin/nologin -M [root@lb4 ~]# groupadd www -g 666 && useradd www -u 666 -g 666 -s /sbin/nologin -M # Nginx konfigurieren [root@lb02 ~]# vim /etc/nginx/nginx.conf Benutzer www; [root@lb4 ~]# vim /etc/nginx/nginx.conf Benutzer www; # Starten Sie Nginx [root@lb4 ~]# systemctl starte nginx && systemctl aktiviere nginx && systemctl status nginx [root@lb02 ~]# systemctl starte nginx && systemctl aktiviere nginx && systemctl status nginx Synchronisieren Sie die lb01-Konfiguration mit lb02 [root@lb01 ~]# scp /etc/nginx/conf.d/* 172.16.1.5:/etc/nginx/conf.d/ [root@lb01 ~]# scp /etc/nginx/proxy_params 172.16.1.5:/etc/nginx/ Testen Sie den Lastenausgleich von lb02 [root@lb02 ~]# nginx -t && systemctl nginx neu starten #Hosts konfigurieren Test 10.0.0.5 linux.wp.com 3. Konfigurieren Sie den Layer 4-LastausgleichSyntax für Layer 4-Lastausgleich Syntax: stream { ... } Standard: - Kontext: main #Beispiel: Das vierschichtige Lastausgleichs-Stream-Modul befindet sich auf derselben Ebene wie das http-Modul und kann nicht in http konfiguriert werden. stream { Upstream-Backend { Server backend1.example.com:12345 Gewicht=5; Server 127.0.0.1:12345 max_fails=3 Fail_Timeout=30s; } Server { hören Sie 12345; Proxy-Verbindungstimeout 1 s; Proxy_Timeout 3 s; Proxy_Pass-Backend; } } Konfigurieren Sie die Hauptkonfigurationsdatei von nginx [root@lb4 ~]# vim /etc/nginx/nginx.conf #Kommentieren Sie den gesamten Inhalt des HTTP-Layer-Benutzers www; Arbeiterprozesse 1; Fehlerprotokoll /var/log/nginx/error.log warnen; pid /var/run/nginx.pid; Ereignisse { Arbeiterverbindungen 1024; } #Fügen Sie eine Include-Datei hinzu, include /etc/nginx/conf.c/*.conf; #http { # /etc/nginx/mime.types einschließen; # Standardtyp Anwendung/Oktett-Stream; # log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; # Zugriffsprotokoll /var/log/nginx/access.log main; # Sendedatei an; # #tcp_nopush ein; # Keepalive-Timeout 65; # #gzip ein; # /etc/nginx/conf.d/*.conf einschließen; #} Konfigurieren des Layer 4-Lastausgleichs #Verzeichnis erstellen [root@lb4 ~]# mkdir /etc/nginx/conf.c #Konfigurieren [root@lb4 ~]# vim /etc/nginx/conf.c/linux.lb4.com.conf Strom { Upstream-LB-Server { Server 10.0.0.4:80; Server 10.0.0.5:80; } Server { hören Sie 80; Proxy_Passwort lbserver; Proxy-Verbindungstimeout 1 s; Proxy_Timeout 3 s; } } # Starten Sie Nginx [root@lb4 ~]# nginx -t && systemctl starte nginx # Hosts für den Zugriff auf 10.0.0.6 linux.lb4.com konfigurieren Layer 4-Lastausgleichskonfigurationsprotokoll #Für den vierschichtigen Lastausgleich gibt es kein Zugriffsprotokoll, da in der Konfiguration von nginx.conf das Zugriffsprotokollformat unter http konfiguriert ist, während die Konfiguration des vierschichtigen Lastausgleichs außerhalb von http liegt. #Wenn Sie Protokolle benötigen, müssen Sie sie unter Stream [root@lb4 ~] konfigurieren.# vim /etc/nginx/conf.c/linux.lb4.com.conf Strom { log_format Proxy '$remote_addr $remote_port - [$time_local] $status $protocol ' '"$upstream_addr" "$upstream_bytes_sent" "$upstream_connect_time"'; Zugriffsprotokoll /var/log/nginx/proxy.log Proxy; Upstream-LB-Server { Server 10.0.0.4:80; Server 10.0.0.5:80; } Server { hören Sie 80; Proxy_Passwort lbserver; Proxy-Verbindungstimeout 1 s; Proxy_Timeout 3 s; } } #Alle Webserver-Protokolle anzeigen [root@web01 ~]# tail -f /var/log/nginx/access.log [root@web02 ~]# tail -f /var/log/nginx/access.log Layer 4-LadeportweiterleitungFordern Sie den Lastausgleichsport 5555 an und springen Sie zum Port 22 von web01 #Einfache Stream-Konfiguration { Server { hören Sie 5555; Proxy-Passwort 172.16.1.7:22; } } #Allgemeiner Konfigurationsstream { upstream ssh_7 { Server 10.0.0.7:22; } Server { hören Sie 5555; Proxy-Passwort ssh_7; } } # Test [D:\~]$ ssh [email protected]:5555 Erfolgreicher Sprung Fordern Sie den Lastausgleichsport 6666 an und springen Sie zu 172.16.1.51:3306 Strom { upstream db_51 { Server 172.16.1.51:3306; } Server { hören Sie 6666; Proxy-Passwort db_51; } } Lastverteilung von Datenbank-Slaves Strom { Upstream-DB-Server { Server 172.16.1.51:3306; Server 172.16.1.52:3306; Server 172.16.1.53:3306; Server 172.16.1.54:3306; Server 172.16.1.55:3306; Server 172.16.1.56:3306; } Server { hören Sie 5555; Proxy_Pass-Datenbankserver; } } ZusammenfassenDies ist das Ende dieses Artikels über die vierschichtige Lastausgleichskonfiguration von Nginx. Weitere verwandte Inhalte zum vierschichtigen Lastausgleich von Nginx finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: js-Code zur Realisierung eines Chatrooms für mehrere Personen
>>: Detaillierte Erklärung der Primärschlüssel und Transaktionen in MySQL
1. Iframe-Definition und -Verwendung Das Iframe-E...
Die Betriebsumgebung dieses Tutorials: Windows 7-...
Hintergrund: Ich möchte einen SAP ECC Server inst...
Zusammenfassung: Nginx-Reverse-Proxy für JIRA kon...
Inhaltsverzeichnis 1. Titel 2. Code 3. Ergebnisse...
Inhaltsverzeichnis Stapelkopie copyWithin() Array...
Routenplanung vue-router4 behält den Großteil der...
Inhaltsverzeichnis 1. Aggregierte Abfrage 1. COUN...
Es handelt sich hauptsächlich um ein CSS-Stilsteue...
Vorwort Wenn in einem relativ komplexen großen Sy...
In diesem Artikel wird der spezifische JavaScript...
1. Laden Sie das komprimierte Tomcat-Paket von de...
Laden Sie das RPM-Installationspaket herunter Off...
In diesem Artikel wird der spezifische Code von J...
Vorteile von Prepare Der Grund, warum Prepare SQL...