Gemeinsame Nutzung des Nignx-Lastausgleichsalgorithmus
In diesem Artikel wird hauptsächlich der Nignx-Lastausgleichsalgorithmus mit Ihnen geteilt, in der Hoffnung, allen zu helfen.
1. Nginx-Lastausgleichsalgorithmus
1. Abfrage (Standard)
Jede Anfrage wird nacheinander einem anderen Backend-Dienst in chronologischer Reihenfolge zugewiesen Bei einem Serverabsturz wird das fehlerhafte System automatisch beseitigt, sodass der Benutzerzugriff nicht beeinträchtigt wird.
2. Gewicht (Abfragegewicht)
Je größer der Gewichtswert, desto höher die ihm zugewiesene Zugriffswahrscheinlichkeit. Es wird hauptsächlich verwendet, wenn die Leistung jedes Servers im Backend unausgeglichen ist . Oder legen Sie einfach unterschiedliche Gewichte in der Master-Slave-Situation fest, um eine angemessene und effektive Nutzung der Host-Ressourcen zu erreichen.
3. ip_hash Quelladressen-Hashing-Methode
Die Idee des Quelladressen-Hashings besteht darin, einen Wert zu erhalten, der durch eine Hash-Funktion basierend auf der IP-Adresse des Clients berechnet wird, und diesen Wert zu verwenden Um die Serverliste zu vergleichen, führen Sie eine Modulo-Operation für die Größe durch. Das erhaltene Ergebnis ist die Seriennummer des Servers, auf den der Client zugreifen möchte. Die Quelladressen-Hash-Methode wird für den Lastausgleich verwendet. Clients mit derselben IP-Adresse werden für den Zugriff jedes Mal demselben Backend-Server zugeordnet, wenn die Backend-Serverliste unverändert bleibt.
4. fair
Der Fair-Algorithmus ist ein intelligenterer Lastausgleichsalgorithmus als Gewicht und ip_hash und kann den Lastausgleich basierend auf Seitengröße und Ladezeit, also basierend auf der Antwort von, intelligent durchführen Dem Back-End-Server wird Zeit für Anfragen zugewiesen, und Anfragen mit kurzen Antwortzeiten werden zuerst zugewiesen. Nginx selbst unterstützt Fair nicht. Wenn Sie diesen Planungsalgorithmus benötigen, müssen Sie das Modul upstream_fair installieren.
5. url_hash
Weist Anfragen entsprechend dem Hash-Ergebnis der aufgerufenen URL zu, sodass jede URL an einen Back-End-Server weitergeleitet wird, was die Effizienz des Back-Ends weiter verbessern kann. Cache-Server beenden. Nginx selbst unterstützt url_hash nicht. Wenn Sie diesen Planungsalgorithmus benötigen, müssen Sie das Nginx-Hash-Softwarepaket installieren.
1. Abfrage (Standard)
Jede Anfrage wird nacheinander in chronologischer Reihenfolge einem anderen Backend-Server zugewiesen. Wenn der Backend-Server ausfällt, kann er automatisch gelöscht werden.
2. Gewichtung
gibt die Abfragewahrscheinlichkeit an. Die Gewichtung ist proportional zum Zugriffsverhältnis und wird verwendet, wenn die Back-End-Serverleistung ungleichmäßig ist.
Zum Beispiel:
upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; }
3. ip_hash
Jede Anfrage wird entsprechend dem Hash-Ergebnis der aufgerufenen IP zugewiesen, sodass jeder Besucher festen Zugriff auf ein Back-End hat Server, der das Sitzungsproblem lösen kann.
Zum Beispiel:
upstream bakend { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; }
4. Fair (Drittanbieter)
Anfragen entsprechend der Antwortzeit des Back-End-Servers zuweisen, und solche mit kurzen Antwortzeiten werden berücksichtigt zuerst zugeteilt.
upstream backend { server server1; server server2; fair; }
5. url_hash (Dritter)
Verteilen Sie Anfragen entsprechend dem Hash-Ergebnis der aufgerufenen URL, sodass jede URL an denselben Back-End-Server weitergeleitet wird Der Back-End-Server wird zwischengespeichert. Effektiver.
Beispiel: Fügen Sie dem Upstream eine Hash-Anweisung hinzu, z. B. hash_method ist der verwendete Hash-Algorithmus
upstream backend { server squid1:3128; // 10.0.0.10:7777 server squid2:3128; //10.0.0.11:8888 hash $request_uri; hash_method crc32; }
2 >
Im Nginx-Upstream-Modul können Sie den Status jedes Backend-Servers bei der Lastausgleichsplanung festlegen. Häufig verwendete Status sind: 1. „Down“ bedeutet, dass der aktuelle Server nicht am Lastausgleich teilnimmt vorerst 2. Backup, reservierte Backup-Maschine. Wenn alle anderen Nicht-Backup-Maschinen ausfallen oder ausgelastet sind, wird die Backup-Maschine angefordert, sodass der Zugriffsdruck dieser Maschine am niedrigsten ist 3. max_fails, die Anzahl der zulässigen Anforderungsfehler, ist standardmäßig 1, Wenn die maximale Anzahl erreicht ist, wird der vom Modul „proxy_next_upstream“ definierte Fehler zurückgegeben. 4. fail_timeout, Anforderungsfehler-Timeout, die Zeit zum Anhalten des Dienstes nach max_fails-Fehlern. max_fails und fail_timeout können zusammen verwendet werden. Wenn Nginx nicht nur einen Server vertreten könnte, wäre es nicht so beliebt wie heute. Nginx kann so konfiguriert werden, dass es mehrere Server unterstützt. Wenn ein Server ausfällt, kann das System weiterhin verfügbar bleiben. Der spezifische Konfigurationsprozess ist wie folgt: 1. Fügen Sie unter dem http-Knoten den Upstream-Knoten hinzu.upstream linuxidc { server 10.0.6.108:7080; server 10.0.0.85:8980; }
2. 将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“
http://linuxidc”.
location / { root html; index index.html index.htm; proxy_pass http://linuxidc; }
3. 现在负载均衡初步完成了。upstream按照轮询(默认)方式进行负载,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。虽然这种方式简便、成本低廉。但缺点是:可靠性低和负载分配不均衡。适用于图片服务器集群和纯静态页面服务器集群。
除此之外,upstream还有其它的分配策略,分别如下:
weight(权重)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。如下所示,10.0.0.88的访问比率要比10.0.0.77的访问比率高一倍。
upstream linuxidc{ server 10.0.0.77 weight=5; server 10.0.0.88 weight=10; }
ip_hash(访问ip)
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream favresin{ ip_hash; server 10.0.0.10:8080; server 10.0.0.11:8080; }
fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。与weight分配策略类似。
upstream favresin{ server 10.0.0.10:8080; server 10.0.0.11:8080; fair; }
url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
注意:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法。
upstream resinserver{ server 10.0.0.10:7777; server 10.0.0.11:8888; hash $request_uri; hash_method crc32; }
upstream还可以为每个设备设置状态值,这些状态值的含义分别如下:
down 表示单前的server暂时不参与负载.
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误.
fail_timeout : max_fails次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
upstream bakend{ #定义负载均衡设备的Ip及设备状态
ip_hash; server 10.0.0.11:9090 down; server 10.0.0.11:8080 weight=2; server 10.0.0.11:6060; server 10.0.0.11:7070 backup; }
相关推荐:
Das obige ist der detaillierte Inhalt vonGemeinsame Nutzung des Nignx-Lastausgleichsalgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Quark Netdisk und Baidu Netdisk sind beide sehr praktische Speichertools. Viele Benutzer fragen sich, ob diese beiden Softwareprogramme kompatibel sind. Wie teile ich Quark Netdisk mit Baidu Netdisk? Auf dieser Website erfahren Sie ausführlich, wie Sie Quark Network Disk-Dateien auf der Baidu Network Disk speichern. So speichern Sie Dateien von Quark Network Disk auf Baidu Network Disk Methode 1. Wenn Sie wissen möchten, wie Sie Dateien von Quark Network Disk auf Baidu Network Disk übertragen, laden Sie zunächst die Dateien herunter, die auf Quark Network Disk gespeichert werden müssen, und öffnen Sie sie dann Wählen Sie im Baidu Network Disk-Client den Ordner aus, in dem die komprimierte Datei gespeichert werden soll, und doppelklicken Sie, um den Ordner zu öffnen. 2. Klicken Sie nach dem Öffnen des Ordners oben links im Fenster auf „Hochladen“. 3. Suchen Sie die komprimierte Datei, die auf Ihren Computer hochgeladen werden soll, und klicken Sie, um sie auszuwählen.

1. Zuerst rufen wir NetEase Cloud Music auf und klicken dann auf die Software-Homepage-Oberfläche, um die Song-Wiedergabeoberfläche aufzurufen. 2. Suchen Sie dann in der Song-Wiedergabeoberfläche die Schaltfläche für die Freigabefunktion oben rechts, wie im roten Feld in der Abbildung unten gezeigt, klicken Sie, um den Freigabekanal im Freigabekanal auszuwählen, und klicken Sie auf die Option „Teilen für“. Wählen Sie unten den ersten Eintrag „WeChat Moments“ aus, mit dem Sie Inhalte für WeChat Moments freigeben können.

Oben geschrieben und das persönliche Verständnis des Autors: Derzeit spielt das Wahrnehmungsmodul im gesamten autonomen Fahrsystem eine entscheidende Rolle Das Steuermodul im autonomen Fahrsystem trifft zeitnahe und korrekte Urteile und Verhaltensentscheidungen. Derzeit sind Autos mit autonomen Fahrfunktionen in der Regel mit einer Vielzahl von Dateninformationssensoren ausgestattet, darunter Rundumsichtkamerasensoren, Lidar-Sensoren und Millimeterwellenradarsensoren, um Informationen in verschiedenen Modalitäten zu sammeln und so genaue Wahrnehmungsaufgaben zu erfüllen. Der auf reinem Sehen basierende BEV-Wahrnehmungsalgorithmus wird von der Industrie aufgrund seiner geringen Hardwarekosten und einfachen Bereitstellung bevorzugt, und seine Ausgabeergebnisse können problemlos auf verschiedene nachgelagerte Aufgaben angewendet werden.

Zu den häufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, gehören Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den Lösungen gehören die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische Fälle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

Die unterste Ebene der C++-Sortierfunktion verwendet die Zusammenführungssortierung, ihre Komplexität beträgt O(nlogn) und bietet verschiedene Auswahlmöglichkeiten für Sortieralgorithmen, einschließlich schneller Sortierung, Heap-Sortierung und stabiler Sortierung.

Vor kurzem hat der Baidu Netdisk Android-Client eine neue Version 8.0.0 eingeführt. Diese Version bringt nicht nur viele Änderungen, sondern fügt auch viele praktische Funktionen hinzu. Am auffälligsten ist unter anderem die Verbesserung der Ordnerfreigabefunktion. Jetzt können Benutzer ganz einfach Freunde einladen, beizutreten und wichtige Dateien im Beruf und im Privatleben zu teilen, was eine bequemere Zusammenarbeit und gemeinsame Nutzung ermöglicht. Wie teilen Sie die Dateien, die Sie benötigen, mit Ihren Freunden? Ich hoffe, dass Ihnen der Herausgeber dieser Website weiterhelfen kann. 1) Öffnen Sie die Baidu Cloud APP, wählen Sie zuerst den entsprechenden Ordner auf der Startseite aus und klicken Sie dann auf das Symbol [...] in der oberen rechten Ecke der Benutzeroberfläche (wie unten gezeigt). 2) Klicken Sie dann auf [+]. Klicken Sie auf die Spalte „Gemeinsame Mitglieder“ 】 und markieren Sie abschließend alle

Die Konvergenz von künstlicher Intelligenz (KI) und Strafverfolgung eröffnet neue Möglichkeiten zur Kriminalprävention und -aufdeckung. Die Vorhersagefähigkeiten künstlicher Intelligenz werden häufig in Systemen wie CrimeGPT (Crime Prediction Technology) genutzt, um kriminelle Aktivitäten vorherzusagen. Dieser Artikel untersucht das Potenzial künstlicher Intelligenz bei der Kriminalitätsvorhersage, ihre aktuellen Anwendungen, die Herausforderungen, denen sie gegenübersteht, und die möglichen ethischen Auswirkungen der Technologie. Künstliche Intelligenz und Kriminalitätsvorhersage: Die Grundlagen CrimeGPT verwendet Algorithmen des maschinellen Lernens, um große Datensätze zu analysieren und Muster zu identifizieren, die vorhersagen können, wo und wann Straftaten wahrscheinlich passieren. Zu diesen Datensätzen gehören historische Kriminalstatistiken, demografische Informationen, Wirtschaftsindikatoren, Wettermuster und mehr. Durch die Identifizierung von Trends, die menschliche Analysten möglicherweise übersehen, kann künstliche Intelligenz Strafverfolgungsbehörden stärken

01Ausblicksübersicht Derzeit ist es schwierig, ein angemessenes Gleichgewicht zwischen Detektionseffizienz und Detektionsergebnissen zu erreichen. Wir haben einen verbesserten YOLOv5-Algorithmus zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern entwickelt, der mehrschichtige Merkmalspyramiden, Multierkennungskopfstrategien und hybride Aufmerksamkeitsmodule verwendet, um die Wirkung des Zielerkennungsnetzwerks in optischen Fernerkundungsbildern zu verbessern. Laut SIMD-Datensatz ist der mAP des neuen Algorithmus 2,2 % besser als YOLOv5 und 8,48 % besser als YOLOX, wodurch ein besseres Gleichgewicht zwischen Erkennungsergebnissen und Geschwindigkeit erreicht wird. 02 Hintergrund und Motivation Mit der rasanten Entwicklung der Fernerkundungstechnologie wurden hochauflösende optische Fernerkundungsbilder verwendet, um viele Objekte auf der Erdoberfläche zu beschreiben, darunter Flugzeuge, Autos, Gebäude usw. Objekterkennung bei der Interpretation von Fernerkundungsbildern
