Load Balancer: Wie es die Webleistung verbessert

Wann immer wir eine Verbindung zum Internet herstellen möchten, müssen Websites so schnell wie möglich zugänglich sein, um die bestmögliche Benutzererfahrung zu erzielen. Wir müssen uns jedoch daran erinnern, dass diese Websites auf Webservern gehostet werden und diese wiederum eine Kapazitätsbeschränkung haben. Eine Website mit hoher Nachfrage könnte ohne eine nicht wirklich überleben Lastenausgleicher . Mit diesem Tool ist die von uns verwaltete Website immer verfügbar und kann alle Anfragen mit der höchstmöglichen Geschwindigkeit bearbeiten. In diesem Tutorial wird erklärt, wie ein Load Balancer oder auch bekannt als Lastenausgleicher kann die Leistung Ihrer Website verbessern.

Websites, die Dienste wie Online-Shopping, Online-Presse oder Multimedia-Dienste anbieten, haben eine fast kontinuierliche Nachfrage nach Verkehr, insbesondere abends, wenn der meiste Internetverkehr stattfindet, weil sich alle in ihren Häusern ausruhen harter Tag bei der Arbeit. Die Webserver sind hauptsächlich dafür verantwortlich, dass beim Besuch einer bestimmten Website die Seiten sehr schnell geladen werden, um die bestmögliche Benutzererfahrung zu erzielen.

Jeder der Online-Unternehmen (E-Commerce) Beachten Sie, dass Webserver mit hoher Leistung und Verfügbarkeit obligatorisch sein müssen. Nur wenige kurze Ereignisse mit langsamem oder keinem Zugriff auf Einkaufsseiten und sogar Zahlungsprobleme können die Entscheidung des Kunden beeinflussen, auf solchen Seiten erneut einzukaufen.

Lastenausgleicher

Wie kann ein Load Balancer helfen?

Wenn Sie für die Infrastruktur verantwortlich sind, die stark nachgefragten Websites wie E-Commerce Leben einhaucht, und sicherstellen möchten, dass Webserver ein hohes Serviceniveau aufweisen, sollten Sie die Bereitstellung einer Infrastruktur mit Lastenausgleich oder auch bekannt berücksichtigen wie Lastverteilung .

Wofür sind sie? Diese stellen sicher, dass sich der Webverkehr nicht auf einen einzelnen Server konzentriert, was schließlich aufgrund der Tausenden von Anforderungen pro Sekunde, die er von verschiedenen Clients empfängt, gesättigt wird. Diese Sättigung führt wiederum zu einer extremen Langsamkeit der Websites oder einfach dazu, dass sie nicht verfügbar ist und einen Fehler zurückgibt. Tatsächlich kann die Load Balancer-Rolle von einem Webserver selbst erfüllt werden. Anstatt ständig in die Anschaffung eines einzelnen Servers mit zunehmender Kapazität zu investieren, können Sie wählen zwei oder mehr Server mit identische Merkmale um den Verkehr auf jedem auszugleichen.

Um dies anzuwenden Balancing Prozess ist es üblich, sich zu entscheiden DNS Round-Robin-Funktionalität Client-Anfragen gleichmäßig an Webserver zu verteilen. Das Ergebnis ist eine konsistente Serververfügbarkeit und -leistung. Der Nachteil dieses Prozesses ist, dass er in einem Szenario mit den Servern nicht anwendbar ist verschiedene Funktionen und Fähigkeiten . Round-Robin behandelt alle verfügbaren Server gleich und überprüft nicht, ob sie in Betrieb sind oder nicht.

Infolgedessen haben die verschiedenen Lieferanten Verbesserungen vorgenommen. Dazu haben sie Tools erstellt, die sicherstellen, dass Server fehlertolerant sind: Load Balancer . Dies durch Umleiten von Datenverkehr und Clients von einem ausgefallenen Server auf einen anderen verfügbaren. Somit werden Benutzer nur sehr wenige Unannehmlichkeiten und keine Fehler wahrnehmen. Diese Tools können sowohl in mehreren Website-Umgebungen als auch in Umgebungen mit nur einer verwendet werden.

Betriebsschema

Wie bereits erwähnt, ist ein Load Balancer ein Tool, das einen Client an den Webserver weiterleitet, der unter denjenigen mit demselben Inhalt am besten verfügbar ist. Dieser Prozess ist für diejenigen, die auf eine bestimmte Site zugreifen, völlig transparent, so dass wir dies auf den ersten Blick nicht erkennen können. Wir können dieses Schema verwenden, um besser zu verstehen, wie es funktioniert:

  • Es gibt zwei Webserver, die für das Füttern einer einzelnen Website verantwortlich sind. Die IP-Adressen sind:
    • 192.168.0.4 für Server web1.beispiel.com
    • 192.168.0.5 für web2 Server example.com
  • Ein Load Balancer wird mit dem virtuellen Hostnamen implementiert www.beispiel.com und seine virtuelle IP 192.168.0.10. Dieser virtuelle Host mit Namen und virtuellen IP-Adressen dient dem DNS-Server, um den Zugriff auf die Beispielwebsite aufzulösen
  • Eine Person möchte zugreifen www.example.com Was also passiert, ist, dass sie tatsächlich eine Anfrage stellen, um auf den Load Balancer der Server zuzugreifen, auf denen die Website ursprünglich gehostet wurde.
  • Dieser Load Balancer prüft nun, welcher Webserver für Benutzeranforderungen verfügbar ist. Sobald dies erledigt ist, empfängt der ausgewählte Server die Anfrage.
  • Sobald Sie es erfolgreich verarbeitet haben, antwortet der Server selbst auf die Anfrage, indem er Zugriff auf die Website gewährt www.example.com . Dies kann sich je nach Implementierung ändern.

Arten von Load Balancern

Grundsätzlich werden sie in drei Typen eingeteilt:

  • Hardwaretyp: Es besteht aus einem dedizierten Server mit einem bestimmten Betriebssystem und einer Software für den Lastausgleich. Dieser Server integriert Webserver mithilfe von Plug-and-Play-Lösungen. Sobald sie eine Verbindung herstellen, funktionieren sie mit wenig oder keiner Voreinstellung.
  • Schaltertyp: Ein Load Balancer dieses Typs benötigt einen Layer 2- oder Layer 3-Switch für die Integration des Balancing-Prozesses. Zwischen dem Switch und dem Webserver ist kein Zwischengerät erforderlich.
  • Software-basiert: In In diesem Fall ist es nicht erforderlich, eine Netzwerkverbindungsfunktion zu ändern. Sie können die Software zu diesem Zweck auf den Webservern selbst installieren. Sie können sich jedoch für einen dedizierten Server entscheiden, um die Rolle des Load Balancers zu erfüllen.

In beiden Fällen wird der grundlegende Zweck erfüllt: Überwachen der Kapazität von Webservern, Auswählen des geeigneten Servers für die Anforderungen jedes Clients und Umleiten des Datenverkehrs zwischen dem Client und dem Server.

Wie der Verkehr umgeleitet wird

Wie wir bereits wissen, besteht einer der Hauptzwecke eines Load Balancers darin, den Datenverkehr vom Client zum entsprechenden Server umzuleiten. Als nächstes werden wir teilen, wie sie es tun:

MAT

Diese Akronyme entsprechen M edia Zugangskontrolle A ddress T Übersetzung. Bei dieser Methode muss jeder Webserver zusätzlich zu seiner eigenen IP die Load Balancer-IP-Adresse als Loopback-Schnittstellenadresse verwenden. Wenn der Load Balancer die Anforderung vom Client empfängt, beginnt er mit der Auswahl des entsprechenden Webservers. Es dann ändert die Ziel-MAC-Adresse in dem Datenpaket, aus dem die Anforderung des Clients an die des ausgewählten Webservers besteht. Später wird diese Anforderung an den Server gesendet, der die IP-Adresse des Clients als Daten enthält. Auf diese Weise wird eine direkte Reaktion darauf garantiert.

Ein zu berücksichtigender Punkt ist, dass der „ausgewählte“ Webserver immer dann, wenn er auf die Anfrage des Clients reagiert, seine ursprüngliche IP mit der seinem Load Balancer entsprechenden maskiert. Als ob der Kunde ursprünglich eine Anfrage an ihn gestellt hätte.

NAT

Die Methode ist zu Ändern Sie die Ziel-IP-Adresse der Kundenanfrage. Letzteres ist ursprünglich auf die IP des Load Balancers gerichtet. Der beliebte "nateo" -Prozess ändert jedoch diese IP und weist die zu, die dem "ausgewählten" Server entspricht. Dieser Vorgang wird vom Load Balancer selbst über die ihm zugewiesene IP-Adresse ausgeführt. Auch mitten in diesem Prozess, Die Quell-IP-Adresse ist die des Load Balancers anstelle der IP-Adresse des Clients. Sobald der Load Balancer die Antwort an den Client umleitet, ändert er die Ziel-IP-Adresse in die dem Client entsprechende. Folglich ist die als Quelle aufgeführte IP-Adresse die des Load Balancers.

Was erreicht wird, ist, die ursprüngliche IP des Webservers zu verbergen, die für Clients nicht sichtbar ist. Webserver können also jede IP verwenden, auch wenn sie privat ist. Diese Server müssen nicht direkt verbinden an den Load Balancer im Sinne einer Zugehörigkeit zu demselben lokalen Netzwerksegment. Solange Webserver und Load Balancer über statische Routen oder Netzwerkroutingprotokolle kommunizieren können, besteht keine Notwendigkeit.

TCP-Gateway

Bei dieser Methode müssen Load Balancer den Datenverkehr auf der TCP-Ebene und höher umleiten. Sowohl dies als auch der Client, der die Verbindungsanforderung stellt Stellen Sie eine TCP-Verbindung her . Der Load Balancer empfängt die Anforderungsdaten also bereits vor der Suche nach dem am besten geeigneten Server. Der Load Balancer stellt dann eine TCP-Verbindung zum bereits festgelegten Server her, um die Clientanforderung zu übertragen. Dieser Load Balancer leitet auch die Antwort vom Server über die TCP-Verbindung an den Client weiter. Wir sehen also, dass das TCP-Protokoll als Zwischenstufe zwischen den potenziellen Zielservern, dem Load Balancer und dem Client fungiert.

Wie wir sehen, ist die Funktion eines Load Balancers immer wichtiger geworden. Hauptsächlich, weil Websites immer mehr Kundenanfragen erhalten, dh mehr Benutzer, die auf die verschiedenen Seiten zugreifen möchten. E-Commerce ist nicht nur einer der Sektoren, die diese Art von Tool übernehmen sollte, sondern auch jeder andere, der einen hohen täglichen Benutzerverkehr aufweist.