Was ist Network Load Balancer oder Network Load Balancing (NLB)?
Wenn du im Internet surfst, gibt es einen ganzen zugrunde liegenden Prozess, der für dich völlig transparent ist.
Dieser Prozess ist dafür verantwortlich, dass deine Anfragen (z. B. Suchanfragen) an den entfernten Server – der sich möglicherweise am anderen Ende der Welt befindet – weitergeleitet werden, der die Website hostet. Die Antwort dieses Servers wird dir dann in sehr kurzer Zeit geliefert, und glücklicherweise hängt diese Zeit nicht von der Entfernung zwischen dir und dem Server ab.
Da die Popularität einer Website steigen kann und damit auch ihre Besucherzahlen, ist es wichtig, dass deine Benutzererfahrung erhalten bleibt. Die wichtigste Frage, die sich stellt, ist also, wie man eine optimale und unveränderte Qualität und Verfügbarkeit gewährleisten kann. Hier kommt das Network Load Balancing (NLB) oder ein Network Load Balancer ins Spiel.
Manche Webseiten können mehrere Millionen Anfragen pro Tag bewältigen, während sie gleichzeitig die gewünschten Inhalte (Texte, Videos und andere Daten) zuverlässig liefern können.
Der Network Load Balancer hat die Aufgabe, die Anfragen an alle Server weiterzuleiten, die sie beantworten können, um so die Geschwindigkeit und die Kapazitätsauslastung zu maximieren und sicherzustellen, dass kein Server überlastet wird (was die Leistung beeinträchtigen würde).
Wenn ein Server ausfällt, leitet der Lastenausgleich die Anfragen an die verbleibenden Server weiter. Wird hingegen ein neuer Server zur Gruppe hinzugefügt, beginnt der Lastenausgleich automatisch damit, Anfragen an diesen zu senden.
Die Lasten werden nach verschiedenen Kriterien verteilt, z. B. nach dem geografischen Standort der Nutzer oder der Anzahl der gleichzeitigen Nutzer. Der Lastverteiler führt folgende Aufgaben aus:
- Verteilt Anfragen oder Netzwerklasten auf mehrere Server.
- Stellt die Verfügbarkeit sicher, indem er Anfragen nur an Server weiterleitet, die online sind.
- Kann automatisch Server hinzufügen oder entfernen, um sich der Last anzupassen.
💡Auch interessant:
Die Gefahr von KI |
Alphacode: Deepmind’s neues Tool |
Kann KI kreativ sein ? |
Hi! Paris die KI-Hochburg |
Die Algorithmen
Es gibt mehrere Algorithmen, mit denen du je nach Bedarf verschiedene Vorteile von Lastverteilern nutzen kannst:
- Round Robin: Die Last wird sequentiell auf die Servergruppe verteilt.
- Least Connection: Jede neue Anfrage wird an den Server mit den wenigsten aktiven Verbindungen gesendet.
- IP Hash: Die IP-Adresse des Clients wird verwendet, um den Server zu bestimmen, der die Anfrage erhält.
Network Load Balancer werden im Allgemeinen in 2 Kategorien unterteilt:
- Layer 4 (Schicht 4) und
- Layer 7 (Schicht 7), was sich direkt auf die Schicht des OSI-Modells bezieht, auf der sie agieren.
- Layer-4-Balancer arbeiten mit Daten, die in den Protokollen der Netzwerk- und Transportschicht (IP, TCP, UDP, FTP) gefunden werden
- während Layer-7-Balancer Anfragen auf der Grundlage von Daten verteilen, die in den Protokollen der Anwendungsschicht (HTTP) gefunden werden.
Eigenschaften | Layer 4 Load Balancer | Layer 7 Load Balancer |
---|---|---|
Protokoll | Transport Layer (TCP/UDP) | Anwendungsprotokolle (z.B. HTTP, HTTPS) |
Verteilung | IP-Adresse und Portnummer | IP-Adresse, Portnummer und Inhalt |
Zustandslos | Ja | Nein (zustandsbasiert) |
Traffic | Paketbasiert | Inhaltbasiert |
Load-Balancing | L4-Header-Informationen | Anwendungsschicht-Algorithmen |
SSL-Termination | Nicht unterstützt | Unterstützt |
Inhaltsbasiert | Nicht möglich | Möglich |
Network Load Balancer: Hardware vs. Software
Es gibt zwei Arten von Network Load Balancern:
- Hardware-Network Load Balancer: Sie verwenden spezielle Hardware-Geräte (wie Netzwerk-Switches), um die Arbeitslast zu verteilen.
- Software-Network Load Balancer: Sie verwenden spezielle Software, die auf den Servern selbst installiert ist, um die Lastverteilung zu verwalten.
Fazit
Network Load Balancing und Network Load Balancer sind eine leistungsstarke Technik, um die Leistung deiner Anwendungen zu verbessern, indem du die Arbeitslast effizient verteilst. Die folgende Tabelle zeigt dir die wichtigsten Vor- und Nachteile:
Vorteile | Nachteile |
---|---|
Verbesserte Verfügbarkeit und Leistung | Manchmal komplexe Einrichtung und Konfiguration, die technisches Fachwissen erfordert |
Geringe Ausfallzeit | Benötigt besonderen Schutz vor Denial-of-Service-Angriffen (DoS) |
Kosten senken |