Revision 109318250 of "Benutzer:Michileo/Lastverteilung1" on dewiki

Mit '''Lastverteilung''' (engl. ''load balancing'') werden Verfahren beschrieben, um bei [[Computer]]n umfangreiche Berechnungen oder große Mengen von Anfragen auf mehrere parallel arbeitende Systeme zu verteilen.

Dies kann sehr unterschiedliche Ausprägungen haben. Eine einfache Lastverteilung findet zum Beispiel auf Rechnern mit mehreren Prozessoren statt.  Jeder [[Prozess]] kann auf einem eigenen [[CPU|Prozessor]] ausgeführt werden.  Die Art der Verteilung der [[Prozess_(Computer)|Prozesse]] auf Prozessoren kann dabei einen großen Einfluss auf die Gesamtperformance des Systems haben, da z.B. der [[Cache]]-Inhalt lokal für jeden Prozessor ist.

Ein anderes Verfahren findet man in [[Computercluster]]n. Hierbei bilden mehrere Rechner einen Verbund, der sich nach außen meistens wie ein einzelnes System verhält. Einige mögliche Verfahren sind das Vorschalten eines Computers, der die Anfragen aufteilt oder die Verwendung von [[Round Robin]] [[Domain Name System|DNS]].

Load Balancing (Lastverteilung) wird ebenfalls bei [[Daten]]- / [[Sprachleitungen]] verwendet um den Verkehrsfluss auf parallel geführte Leitungen zu verteilen. In der Praxis treten jedoch häufig Probleme dabei auf, den Daten- / Sprachverkehr gleichmäßig auf beide Leitungen zu verteilen. Es wird daher meist die Lösung implementiert, das eine Leitung als Hin- und die zweite Leitung als Rückkanal Verwendung findet.

Lastverteilung findet auch bei großen Server-Farmen statt, die z.B. der Beantwortung von [[HTTP]]-Anfragen dienen.  Dort sind Systeme vorgeschaltet, die nach festgelegten Kriterien die einzelnen Anfragen auf die [[Backend-Server]] verteilen.  Dabei können zusätzliche Informationen aus dem [[HTTP]]-Request verwendet werden, um alle zu einer Session mit einem Benutzer gehörenden Pakete an den gleichen Server zu schicken.  Dies ist auch bei der Nutzung von [[SSL]] zur Verschlüsselung der Kommunikation wichtig, damit nicht für jede Anfrage ein neuer SSL-Handshake durchgeführt werden muss.

Eine gute Umsetzung einer Lastverteilung erfordert immer Informationen darüber, wie die Auslastung der Zielsysteme aussieht.

Unter dem Begriff ''load balancing'' wird im weitesten Sinne auch ein Mechanismus zur [[Ausfallsicherheit]] verstanden: durch den Aufbau eines Clusters (siehe: [[Computercluster]]) und der Verteilung der Anfragen auf einzelne Systeme, erreicht man eine Erhöhung der Ausfallsicherheit, sofern der Ausfall eines Systems erkannt und die Anfragen automatisch an ein anderes System abgegeben werden (siehe auch: [[Hochverfügbarkeit]] bzw. [[High-Availability]], "HA").

''siehe auch:'' [[Computercluster]], [[SMP]], [[Content-Switch]], [[Akamai]]

[[Kategorie:Internet]]

[[en:Load balancing]]
[[fr:Répartition de charge]]