Dies sind zwei Sätze, die ich sehr oft höre, hauptsächlich mit Nginx assoziiert. Kann mir jemand eine Laien-Definition geben? HierWas ist "Reverse Proxy" und "Load Balancing" in Nginx/Web Server-Bedingungen?
Antwort
ist die grundlegende Definition:
Reverse Proxy ist ein Proxy-Host, die Anfragen von einem Client empfängt, und sendet sie an einen der Server hinter sich. Nginx und Apache httpd werden häufig als Reverse Proxys verwendet. Diese befinden sich im administrativen Netzwerk des Webservers, den ein Server anfordert.
Dies steht im Gegensatz zu einem (Forward) Proxy,, der vor einem Client sitzt und Anforderungen im Auftrag eines Clients an einen Webserver sendet. Zum Beispiel ist Ihr Firmennetzwerk-Adressübersetzer ein Forward-Proxy. Diese befinden sich im administrativen Netzwerk des Clients, von dem die Anfrage stammt.
Lastenausgleich ist eine Funktion, die von umgekehrten Proxys ausgeführt wird. Die Clientanforderungen werden von einem Load Balancer empfangen, und der Load Balancer versucht, diese Anforderung an einen der Knoten (Hosts) im Serverpool zu senden, um die Last über verschiedene Knoten hinweg auszugleichen.
Definitionen sind oft schwer zu verstehen. Ich schätze, Sie brauchen nur eine Erklärung für ihren Anwendungsfall.
Eine kurze Erklärung ist: Load Balancing ist eine der Funktionen von Reverse-Proxy, und Reverse-Proxy ist eine der Softwares, die Load-Balancing tun können.
Und eine lange Erklärung wird unten gegeben.
Zum Beispiel hat eine Dienstleistung Ihrer Firma Kunden in UK und Deutsch. Da die Richtlinie für diese beiden Länder unterschiedlich ist, verfügt Ihr Unternehmen über zwei Webserver, uk.myservice.com für Großbritannien und de.myservice.com für Deutsch, jeweils mit unterschiedlicher Geschäftslogik. Darüber hinaus möchte Ihre Firma, dass es nur einen einheitlichen Endpunkt gibt, myservice.com für den Service. In diesem Fall müssen Sie einen Reverse-Proxy als einheitlichen Endpunkt einrichten. Der Proxy nimmt die URL myservice.com und schreibt die URL der eingehenden Anfragen neu, so dass Anfragen von UK (bestimmt durch die Quell-IP) an uk.myservice.com gehen und Anfragen von Deutsch an de.myservice.com gehen. Aus der Sicht eines Kunden aus Großbritannien weiß es nie, dass die Antwort tatsächlich von uk.myservice.com generiert wird.
In diesem Fall wird die Last des Anforderungsverkehrs an den Dienst als Nebeneffekt auf Server auf uk.myservice.com und de.myservice.com ausgeglichen. Daher nennen wir es normalerweise nicht als Load Balancer, sondern sagen es einfach als Reverse Proxy.
Aber lassen Sie uns sagen, wenn Ihr Unternehmen die gleiche Richtlinie für alle Länder verwendet, und hat 2 Server, a.myservice.com und b.myservice.com, nur aus dem Grund, dass die Arbeitslast zu schwer für einen Server ist . In diesem Fall nennen wir den Reverse-Proxy normalerweise als Lastenausgleich, um den Grund für die Verwendung zu verdeutlichen.
Ich sehe beide als eine Funktionalität eines HTTP/Web-Server.
Die Aufgabe des Load Balancers besteht darin, die Arbeitsauslastung so auf den Serverknoten zu verteilen, dass sie optimal genutzt wird.
Reverse-Proxy ist eine Schnittstelle für externe Welt, Anforderung an einen Server-Knoten Weiterleitung (auch wenn wir einen einzelnen Knoten haben) Seine andere Anwendungsfälle sind Caching von statischen Inhalten, Kompression usw.
In einfachstenem Begriff:
Ein Reverse-Proxy akzeptiert eine Anfrage von einem Client, leitet sie an einen Server weiter, der sie erfüllen kann, und gibt die Antwort des Servers an den Client zurück.
Ein Load Balancer verteilt eingehende Clientanfragen auf eine Gruppe von Servern, wobei jeweils die Antwort vom ausgewählten Server an den entsprechenden Client zurückgegeben wird.
Aber sie klingen ziemlich ähnlich, oder? Beide Arten von Anwendungen befinden sich zwischen Clients und Servern, akzeptieren Anforderungen von ersteren und liefern Antworten von diesen. Kein Wunder, dass es Verwirrung darüber gibt, was ein Reverse-Proxy-Load-Balancer ist. Lassen Sie uns untersuchen, wann und warum sie auf einer Website bereitgestellt werden.
Load Balancing
Loadbalancer werden am häufigsten zum Einsatz, wenn eine Website mehr Server benötigt, da das Volumen der Anfragen zu viel für einen einzelnen Server effizient zu handhaben. Durch die Bereitstellung mehrerer Server wird auch ein einzelner Fehlerpunkt beseitigt, wodurch die Website zuverlässiger wird. In den meisten Fällen hosten die Server den gleichen Inhalt, und die Aufgabe des Lastenausgleichs besteht darin, die Arbeitslast so zu verteilen, dass die Kapazität jedes Servers optimal genutzt, eine Überlastung auf einem Server verhindert und eine möglichst schnelle Reaktion auf den Client erzielt wird .
Reverse Proxy
Während ein Load Balancer bereitstellen macht nur Sinn, wenn Sie mehrere Server haben, ist es oft sinnvoll, einen Reverse-Proxy einsetzen, auch mit nur einem Web-Server oder Anwendungsserver. Sie können sich den Reverse Proxy als das "öffentliche Gesicht" einer Website vorstellen. Seine Adresse ist diejenige, die für die Website beworben wird. Sie befindet sich am Rand des Netzwerks der Website, um Anfragen von Webbrowsern und mobilen Apps für den Inhalt der Website anzunehmen Webseite.
Es tut mir leid, immer noch nicht ein laymans genug für mich. –