Das Lastausgleichen (Computerwissenschaft)

Das Lastausgleichen ist eine Computernetzwerkanschlussmethodik, um Arbeitspensum über vielfache Computer oder eine Computertraube, Netzverbindungen, in einer Prozession gehende Haupteinheiten, Laufwerke, oder andere Mittel zu verteilen, optimale Quellenanwendung zu erreichen, Durchfluss zu maximieren, Ansprechzeit zu minimieren, und Überlastung zu vermeiden. Das Verwenden vielfacher Bestandteile mit dem Lastausgleichen, statt eines einzelnen Bestandteils, kann Zuverlässigkeit durch die Überfülle vergrößern. Der Lastausgleichen-Dienst wird gewöhnlich durch die hingebungsvolle Software oder Hardware, wie ein Mehrschicht-Schalter oder ein Domainname-Systemserver zur Verfügung gestellt.

Internetbasierte Dienstleistungen

Eine der allgemeinsten Anwendungen des Lastausgleichens soll einen einzelnen Internetdienst von vielfachen Servern zur Verfügung stellen, die manchmal als eine Server-Farm bekannt sind. Allgemein schließen lasterwogene Systeme populäre Websites, große Internetrelaischat-Netze, Dateiübertragungsprotokoll-Seiten der hohen Bandbreite, Server von Network News Transfer Protocol (NNTP) und Server von Domain Name System (DNS) ein. Kürzlich hat sich eine Last balancers entwickelt, um Datenbanken zu unterstützen; diese werden Datenbanklast balancers genannt.

Für Internetdienstleistungen ist die Last balancer gewöhnlich ein Softwareprogramm, das auf dem Hafen hört, wo Außenkunden zu Zugriffsdienstleistungen in Verbindung stehen. Die Last balancer bittet vorwärts zu einem der "backend" Server, der gewöhnlich der Last balancer antwortet. Das erlaubt der Last balancer, dem Kunden ohne den Kunden zu antworten, der jemals über die innere Trennung von Funktionen weiß. Es hält auch Kunden davon ab, sich mit backend Servern direkt in Verbindung zu setzen, die Sicherheitsvorteile durch das Verbergen der Struktur des inneren Netzes und das Verhindern von Angriffen auf den Netzstapel des Kerns oder Dienstleistungen ohne Beziehung haben können, die auf anderen Häfen laufen.

Eine Last balancers stellt einen Mechanismus zur Verfügung, um etwas Spezielles zu tun, falls alle backend Server nicht verfügbar sind. Das könnte Versand zu einer Aushilfslast balancer oder das Anzeigen einer Nachricht bezüglich des Ausfalls einschließen.

Eine abwechselnde Methode des Lastausgleichens, das keine hingebungsvolle Software oder Hardware-Knoten notwendigerweise verlangt, wird gemeinsamen Antrag DNS genannt. In dieser Technik werden vielfache IP-Adressen mit einem einzelnen Domainnamen vereinigt; wie man erwartet, wählen Kunden der Server, dazu in Verbindung zu stehen. Verschieden vom Gebrauch einer hingebungsvollen Last balancer stellt diese Technik Kunden die Existenz von vielfachen backend Servern aus. Die Technik ist im Vorteil und Nachteile, abhängig vom Grad der Kontrolle über den DNS Server und die Körnung des gewünschten Lastausgleichens.

Eine andere wirksamere Technik für das Lastausgleichen mit DNS soll als ein Subgebiet delegieren, dessen Zone durch jeden derselben Server gedient wird, die der Website dienen. Diese Technik arbeitet besonders gut, wo individuelle Server geografisch im Internet ausgebreitet werden. Zum Beispiel,

one.example.org 192.0.2.1

two.example.org 203.0.113.2

www.example.org NS one.example.org

www.example.org NS two.example.org

</pre>

Jedoch ist die Zonendatei für auf jedem Server solch verschieden, dass jeder Server seine eigene IP-Adresse als die A-Aufzeichnung auflöst. Auf dem Server ein die Zonendatei für Berichte:

In 192.0.2.1

</pre>

Auf dem Server zwei enthält dieselbe Zonendatei:

In 203.0.113.2

</pre>

Dieser Weg, wenn ein Server unten, sein DNS ist, wird nicht antworten, und der Webdienst erhält keinen Verkehr. Wenn die Linie zu einem Server zusammengedrängt wird, stellt die Unzuverlässigkeit von DNS sicher, dass weniger HTTP Verkehr diesen Server erreicht. Außerdem ist die schnellste DNS Antwort auf den resolver fast immer diejenige vom nächsten Server des Netzes, geo-empfindliches Lastausgleichen sichernd. Ein kurzer TTL auf der A-Aufzeichnung hilft sicherzustellen, dass Verkehr schnell abgelenkt wird, wenn ein Server hinuntergeht. Rücksicht muss die Möglichkeit gegeben werden, dass diese Technik individuelle Kunden veranlassen kann, zwischen individuellen Servern Mitte Sitzung umzuschalten.

Eine Vielfalt, Algorithmen zu planen, wird durch die Last balancers verwendet, um der backend Server zu bestimmen, eine Bitte daran zu senden. Einfache Algorithmen schließen zufällige Wahl oder gemeinsamen Antrag ein. Hoch entwickeltere Last balancers kann zusätzliche Faktoren, wie eine berichtete Last eines Servers, letzte Ansprechmale,/unten Status (bestimmt durch eine Mithörwahl von einer Art), Zahl von aktiven Verbindungen, geografischer Position, Fähigkeiten in Betracht ziehen, oder wie viel Verkehr es kürzlich zugeteilt worden ist. Hochleistungssysteme können vielfache Schichten des Lastausgleichens verwenden.

Zusätzlich zum Verwenden hingebungsvoller Hardware laden balancers, Software-Only-Lösungen sind einschließlich offener Quelloptionen verfügbar. Beispiele der Letzteren schließen die mod_proxy_balancer Erweiterung des Servers des Apachen-Webs, Lack ein, oder das Pfund kehrt Vertretung um und lädt balancer. Gearman kann verwendet werden, um passende Computeraufgaben zu vielfachen Computern zu verteilen, so können große Aufgaben schneller erledigt werden.

In einer Mehrreihe-Architektur kann die Fachsprache für Designs hinter einer Last balancer oder Netzfahrdienstleiter Frackschleifen und Ofenrohre einschließen. Ein Ofenrohr präsentiert eine solche Situation, dass eine Transaktion, die an einer Spitzenreihe entsandt wird, einem statischen Pfad durch den Stapel von Geräten und Software hinter der Last balancer zu seinem endgültigen Bestimmungsort folgt. Wechselweise, wenn Frackschleifen an jeder Reihe verwendet werden, konnte die Transaktion einen von vielen Pfaden nehmen, durch die Anwendungen an einer besonderen Reihe bedient. Netzwerkdiagramme mit Transaktionsflüssen ähneln Ofenrohren oder Frackschleifen oder hybriden Architekturen, die auf dem Bedürfnis an jeder Reihe gestützt sind.

Fortsetzung

Ein wichtiges Problem, wenn es einen lasterwogenen Dienst bedient, ist, wie man Information behandelt, die über die vielfachen Bitten in einer Sitzung eines Benutzers behalten werden muss. Wenn diese Information lokal auf einem backend Server versorgt wird, dann würden nachfolgende Bitten, die zu verschiedenen backend Servern gehen, nicht im Stande sein, es zu finden. Das könnte versteckte Information sein, die wieder gerechnet werden kann, in welchem Fall Lastausgleichen eine Bitte zu einem verschiedenen backend Server gerade ein Leistungsproblem einführt.

Eine Lösung des Sitzungsdatenproblems ist, alle Bitten in einer Benutzersitzung durchweg zu demselben backend Server zu senden. Das ist als Fortsetzung oder Klebrigkeit bekannt. Eine bedeutende Kehrseite zu dieser Technik ist sein Mangel an automatischem failover: Wenn ein backend Server hinuntergeht, wird seine Information pro Sitzung unzugänglich, und irgendwelche Sitzungen abhängig davon werden verloren. Dasselbe Problem ist gewöhnlich für Hauptdatenbankserver wichtig; selbst wenn Webserver "staatenlos" und nicht "klebrig" "sind", ist die Hauptdatenbank (sieh unten).

Die Anweisung zu einem besonderen Server könnte auf einem Benutzernamen, Kunde IP Adresse, oder durch die zufällige Anweisung basieren. Wegen Änderungen der wahrgenommenen Adresse des Kunden, die sich aus DHCP, Netzadressumrechnung und Webvertretungen ergibt, kann diese Methode unzuverlässig sein. Zufällige Anweisungen müssen durch die Last balancer nicht vergessen werden, der eine Last auf der Lagerung schafft. Wenn die Last balancer ersetzt wird oder scheitert, kann diese Information verloren werden, und Anweisungen müssen eventuell nach einer Pause-Periode oder während Perioden der hohen Last gelöscht werden, um zu vermeiden, den für den Anweisungstisch verfügbaren Raum zu überschreiten. Die zufällige Anweisungsmethode verlangt auch, dass Kunden einen Staat aufrechterhalten, der ein Problem zum Beispiel sein kann, wenn ein WWW-Browser arbeitsunfähige Lagerung von Plätzchen hat. Hoch entwickelte Last balancers verwendet vielfache Fortsetzungstechniken, um einige der Mängel irgendwelcher Methode zu vermeiden.

Eine andere Lösung ist, die Daten pro Sitzung in einer Datenbank zu behalten. Allgemein ist das für die Leistung schlecht, da sie die Last auf der Datenbank vergrößert: Die Datenbank wird am besten verwendet, um Information zu versorgen, die weniger vergänglich ist als Daten pro Sitzung. Um eine Datenbank davon abzuhalten, ein einzelner Punkt des Misserfolgs zu werden, und Skalierbarkeit zu verbessern, wird die Datenbank häufig über vielfache Maschinen wiederholt, und das Lastausgleichen wird verwendet, um die Anfragenlast über jene Repliken auszubreiten. Die ASP.net Staatsserver-Technologie des Microsofts ist ein Beispiel einer Sitzungsdatenbank. Alle Server in einer Webfarm versorgen ihre Sitzungsdaten auf dem Staatsserver, und jeder Server in der Farm kann die Daten wiederbekommen.

Glücklich gibt es effizientere Annäherungen. Im sehr allgemeinen Fall, wo der Kunde ein WWW-Browser ist, können Daten pro Sitzung im Browser selbst versorgt werden. Eine Technik soll ein Browser-Plätzchen, angemessen zeitgestampft und encrypted verwenden. Ein anderer ist das URL-ADRESSE-Neuschreiben. Speicherung von Sitzungsdaten auf dem Kunden ist allgemein die bevorzugte Lösung: Dann ist die Last balancer frei, jeden backend Server aufzupicken, um eine Bitte zu behandeln. Jedoch ist diese Methode des Zustanddaten-Berührens für einige komplizierte Geschäftslogikdrehbücher nicht wirklich passend, wo Sitzungszustandnutzlast sehr groß oder wieder rechnend ist, ist es mit jeder Bitte auf einem Server nicht ausführbar, und das URL-ADRESSE-Neuschreiben hat Hauptsicherheitsprobleme, da der Endbenutzer die vorgelegte URL-ADRESSE leicht verändern und so Sitzungsströme ändern kann. Kundenseitenplätzchen von Encrypted sind wohl so seitdem unsicher, wenn die ganze Übertragung über HTTPS nicht ist, sind sie sehr leicht, zu kopieren oder für den Mann in den mittleren Angriffen zu entschlüsseln.

Laden Sie Balancer-Eigenschaften

Hardware und Software laden balancers kann eine Vielfalt von Besonderheiten haben.

  • Asymmetrische Last: Ein Verhältnis kann manuell damit beauftragt werden, einige backend Server zu veranlassen, einen größeren Anteil des Arbeitspensums zu bekommen, als andere. Das wird manchmal als eine grobe Weise verwendet, für einige Server verantwortlich zu sein, die mehr Kapazität haben als andere, und kann wie gewünscht, nicht immer arbeiten.
  • Vorzugsaktivierung: Wenn die Zahl von verfügbaren Server-Fällen unter einer bestimmten Anzahl oder Last zu hoch wird, Hilfsserver online-gebracht werden können
  • SSL laden Ab und Beschleunigung: Abhängig vom Arbeitspensum, die Verschlüsselung und Beglaubigungsvoraussetzungen einer SSL-Bitte bearbeitend, kann ein Hauptteil der Nachfrage auf der Webserver-Zentraleinheit werden, und als die Nachfrage zunimmt, werden die Benutzer langsamere Ansprechzeiten sehen. Um diese Nachfrage vom Webserver eine Last zu entfernen, kann Balancer verwendet werden, um den SSL an der Last Balancer zu begrenzen. Eine Last Balancer Geräte schließt spezialisierte Hardware ein, um SSL zu bearbeiten. Wenn eine Last Balancer begrenzt die SSL Verbindungen die Bitten, von HTTPS bis HTTP in der Last Balancer umgewandelt wird, bevor sie zum Webserver passiert wird. So lange die Last Balancer selbst wird diese Eigenschaft nicht überladen, die von den Endbenutzern wahrgenommene Leistung nicht merklich erniedrigen wird. Die Kehrseite dieser Annäherung ist, dass die ganze SSL-Verarbeitung unter einem Einzelgerät konzentriert wird (die Last Balancer), der ein neuer Engpass werden kann. Wenn diese Eigenschaft nicht verwendet wird, wird der SSL oben unter den Webservern verteilt. Aus diesen Gründen ist es wichtig, die Gesamtkosten einer Last Balancer Gerät zu vergleichen, das häufig zu diesem der Server ziemlich hoch ist, die die Webserver veranstalten, die häufig auf billigen Warenservern vor dem dafür Entscheiden laufen, diese Eigenschaft zu verwenden. Das Hinzufügen einiger Webserver kann bedeutsam preiswerter sein als Aufrüstung einer Last Balancer. Außerdem vereinigen einige Server-Verkäufer wie Orakel/Sonne jetzt kryptografische Beschleunigungshardware in einige Modelle wie die T2000, die die Zentraleinheitslast und durch SSL-Bitten erforderliche Ansprechzeit reduzieren. Ein klarer Vorteil für SSL, der in der Last ablädt, die Balancer ist, dass es der Fähigkeit zur Last Balancer ermöglicht, das Lastausgleichen oder die zufriedene Schaltung zu tun, die auf Daten in der HTTPS-Bitte gestützt ist.
  • Angriffsschutz von Distributed Denial of Service (DDoS): Last balancers kann Eigenschaften wie SYN-Plätzchen zur Verfügung stellen, und verzögert bindender (sehen die Zurückende-Server den Kunden nicht, bis es seinen TCP Händedruck beendet), SYN-Überschwemmungsangriffe zu lindern und allgemein Arbeit von den Servern bis eine effizientere Plattform abzuladen.
  • HTTP Kompression: Reduziert für HTTP-Gegenstände zu übertragende Datenmenge durch das Verwenden gzip der in allen modernen WWW-Browsern verfügbaren Kompression. Das größere die Antwort und weiter weg ist der Kunde mehr diese Eigenschaft wird Ansprechzeiten verbessern. Der Umtausch besteht darin, dass diese Eigenschaft zusätzliche Zentraleinheitsnachfrage auf der Last Balancer stellt und es eine Eigenschaft ist, die durch Webserver stattdessen getan werden konnte.
  • TCP laden ab: Verschiedene Verkäufer gebrauchen verschiedene Begriffe dafür, aber die Idee besteht darin, dass normalerweise jede HTTP-Bitte von jedem Kunden eine verschiedene TCP Verbindung ist. Diese Eigenschaft verwertet HTTP/1.1, um vielfache HTTP-Bitten von vielfachen Kunden in eine einzelne TCP Steckdose zu den Zurückende-Servern zu konsolidieren.
  • TCP Pufferung: Die Last balancer kann Antworten vom Server puffern und die Daten mit dem Löffel füttern, um Kunden zu verlangsamen, dem Server erlaubend, zu anderen Aufgaben weiterzugehen.
  • Direkte Server-Rückkehr: Eine Auswahl für den asymmetrischen Lastvertrieb, wo Bitte und Antwort verschiedene Netzpfade haben.
  • Gesundheitsüberprüfung: Der balancer wird Server für die Anwendungsschicht-Gesundheit befragen und gefehlte Server von der Lache entfernen.
  • Das HTTP Verstecken: Die Last balancer kann statischen Inhalt versorgen, so dass einige Bitten behandelt werden können, ohne sich mit den Webservern in Verbindung zu setzen.
  • Zufriedene Entstörung: Eine Last balancers kann Verkehr unterwegs durch willkürlich modifizieren.
  • HTTP Sicherheit: Eine Last balancers kann HTTP Fehlerseiten verbergen, Server-Identifizierungskopfbälle von HTTP Antworten und encrypt Plätzchen entfernen, so können Endbenutzer nicht sie manipulieren.
  • Das Vorzugsschlangestehen: Auch bekannt als das Rate-Formen, die Fähigkeit, verschiedenen Vorrang dem verschiedenen Verkehr zu geben.
  • Zufrieden-bewusste Schaltung: Der grösste Teil der Last balancers kann Bitten an verschiedene Server senden, die auf der URL-ADRESSE gestützt sind, die wird bittet.
  • Kundenbeglaubigung: Beglaubigen Sie Benutzer gegen eine Vielfalt von Beglaubigungsquellen vor dem Erlauben von ihnen Zugang zu einer Website.
  • Verkehrsmanipulation von Programmatic: Mindestens eine Last balancer erlaubt dem Gebrauch einer scripting Sprache, kundenspezifische Lastausgleichen-Methoden, willkürliche Verkehrsmanipulationen, und mehr zu erlauben.
  • Brandmauer: Direktanschlüsse zu backend Servern werden für Netzsicherheitsgründe verhindert Brandmauer ist eine Reihe von Regeln, die entscheiden, ob der Verkehr eine Schnittstelle durchführen kann oder nicht.
  • Eindringen-Verhinderungssystem: Die Angebot-Anwendungsschicht-Sicherheit zusätzlich zum Netz/Transportschicht hat sich durch die Brandmauer-Sicherheit geboten.

Verwenden Sie im Fernmeldewesen

Das Lastausgleichen kann in Anwendungen mit überflüssigen Kommunikationsverbindungen nützlich sein. Zum Beispiel kann eine Gesellschaft vielfache Internetverbindungen haben, die Netzzugang sichern, wenn eine der Verbindungen scheitert.

Eine failover Einordnung würde bedeuten, dass eine Verbindung für den normalen Gebrauch benannt wird, während die zweite Verbindung nur verwendet wird, wenn die primäre Verbindung scheitert.

Mit dem Lastausgleichen können beide Verbindungen im Gebrauch die ganze Zeit sein. Ein Gerät oder Programm kontrollieren die Verfügbarkeit aller Verbindungen und wählen den Pfad aus, um Pakete zu senden. Der Gebrauch von vielfachen Verbindungen vergrößert gleichzeitig die verfügbare Bandbreite.

Viele Fernmeldegesellschaften haben vielfache Wege durch ihre Netze oder zu Außennetzen. Sie verwenden hoch entwickelte Last, die balanciert, um Verkehr von einem Pfad bis einen anderen auszuwechseln, um Netzverkehrsstauung auf jeder besonderen Verbindung zu vermeiden, und manchmal die Kosten der Durchfahrt über Außennetze zu minimieren oder Netzzuverlässigkeit zu verbessern.

Eine andere Weise, das Lastausgleichen zu verwenden, ist in Netzmithörtätigkeiten. Last balancers kann verwendet werden, um riesige Datenflüsse in mehrere Subflüsse zu spalten und mehreres Netz Analysatoren, jeder zu verwenden, einen Teil der ursprünglichen Daten lesend. Das ist sehr nützlich, um schnelle Netze wie 10GbE oder STM64 zu kontrollieren, wo die komplizierte Verarbeitung der Daten mit der Leitungsgeschwindigkeit nicht möglich sein kann.

Beziehung zu failover

Das Lastausgleichen wird häufig verwendet, um failover - die Verlängerung eines Dienstes nach dem Misserfolg ein oder mehr von seinen Bestandteilen durchzuführen. Die Bestandteile werden ständig kontrolliert (z.B, Webserver können durch das Holen bekannter Seiten kontrolliert werden), und wenn man nichtantwortend wird, wird die Last balancer informiert und sendet nicht mehr Verkehr daran. Und wenn ein Bestandteil online zurückkommt, beginnt die Last balancer zum Weg-Verkehr dazu wieder. Dafür, um zu arbeiten, muss es mindestens einen Bestandteil über die Kapazität des Dienstes geben. Das kann viel weniger teuer und flexibler sein als Failover-Annäherungen, wo ein einzelner lebender Bestandteil mit einem einzelnen Aushilfsbestandteil paarweise angeordnet wird, der im Falle eines Misserfolgs übernimmt. Einige Typen von ÜBERFALL-Systemen können auch heißen Ersatzteil für eine ähnliche Wirkung verwerten.

Verkäufer

  • A10 Netze
  • Reihe-Netze
  • TDM LVS
  • Avaya
  • Pfeilhecht-Netze
  • Brokat-Kommunikationssysteme
  • Netze von CAI
  • Cisco Systeme
  • Citrix Systeme
  • Steppenwolf-Punkt-Systeme
  • Crescendo Netze
  • Spätzündung (NSI Produkt)
  • Exceliance
  • F5 Netze
  • Gießerei-Netze
  • HAProxy
  • Inlab Software GmbH
  • IPivot
  • jetNEXUS
  • KEMP Technologies, Inc.
  • LoadBalancer.org
  • Microsoft
  • Nortel Netze
  • PineApp
  • PIOLINK
  • Radware
  • Schwingen Sie mit
  • Flussbett-Technologie
  • Stonesoft
  • Strangeloop Netze
  • Technologie von Zeus
  • Linux virtueller Server
  • XRoads Netze

Siehe auch

  • Anwendungslieferkontrolleur
  • Wolke, rechnend
  • Rand, rechnend
  • Allgemeines Adressüberfülle-Protokoll
  • Netzlastausgleichen-Dienstleistungen
  • Verarbeiter-Sympathie
  • Sympathie-Maske
  • Tony Bourke: Das Server-Lastausgleichen, O'Reilly, die internationale Standardbuchnummer 0-596-00050-2
  • Chandra Kopparapu: Lastausgleichen-Server, Brandmauern & Geheime Lager, Wiley, internationale Standardbuchnummer 0-471-41550-2
  • Robert J. Shimonski: Windows Server 2003 Clustering & Load Balancing, Osborne McGraw-Hill, internationale Standardbuchnummer 0-07-222622-6
  • Jeremy Zawodny, Derek J. Balling: Hohe Leistung MySQL, O'Reilly, internationale Standardbuchnummer 0-596-00306-4
  • Matthew Syme, Philip Goldie: Optimierung der Netzleistung mit der Zufriedenen Schaltung: Server, Brandmauer und das Lastausgleichen des Geheimen Lagers, Prentice Hall PTR, internationale Standardbuchnummer 0-13-101468-5

Links


Tabu / Sava (Begriffserklärung)
Impressum & Datenschutz