Azure Load Balancer-Algorithmus

Azure Load Balancer ist der leistungsfähigste Lastenausgleich in Azure mit äußerst kurzen Wartezeiten. Weitere Informationen zu Azure Load Balancer finden Sie unter Was versteht man unter Azure Load Balancer? oder Azure Load Balancer-Komponenten.

Azure Load Balancer verwendet ein Tupel-basiertes Hashing als Algorithmus für den Lastausgleich.

Lastenausgleichsalgorithmus

Indem Sie eine Lastenausgleichsregel erstellen, können Sie eingehende Datenverkehrsflüsse vom Front-End eines Lastenausgleichs an die Back-End-Pools verteilen. Azure Load Balancer nutzt einen Fünf-Tupel-Hashalgorithmus für die Verteilung eingehender Datenflüsse (keine Bytes). Load Balancer schreibt die Header von TCP/UDP-Header-Strömen um, wenn der Verkehr an die Backend-Pool-Instanzen weitergeleitet wird (Load Balancer schreibt keine HTTP/HTTPS-Header um). Wenn die Integritätsprüfung des Lastenausgleichs einen intakten Back-End-Endpunkt anzeigt, sind die Back-End-Instanzen für den Empfang neuer Datenströme verfügbar.

Standardmäßig wird für Azure Load Balancer ein Fünf-Tupel-Hash verwendet.

Der Fünf-Tupel umfasst:

  • Quell-IP-Adresse
  • Quellport
  • Ziel-IP-Adresse
  • Zielport
  • IP-Protokollnummer zum Zuordnen von Flows zu verfügbaren Servern

Sie können auch den Verteilungsmodus für Sitzungsaffinität verwenden, die einen Lastausgleich auf der Basis von zwei oder drei Tupeln vorsieht.

Azure Load Balancer unterstützt jedes TCP-/UDP-Anwendungsszenario, aber schließt oder startet keine Datenflüsse. Außerdem interagiert Load Balancer nicht mit den Nutzdaten eines Datenflusses. Anwendungsnutzlasten sind für das Lastenausgleichsmodul transparent. Alle UDP- oder TCP-Anwendungen können unterstützt werden.

Load Balancer wird auf Schicht 4 betrieben und bietet keine Gatewayfunktionalität auf Anwendungsebene. Protokollhandshakes werden immer direkt zwischen dem Client und der Back-End-Poolinstanz durchgeführt. Da Load Balancer nicht mit den TCP-Nutzdaten interagiert und keine TLS-Auslagerung bereitstellt, können Sie umfassende verschlüsselte Szenarien erstellen. Die Verwendung eines Lastenausgleichsmoduls ermöglicht ein hohes Maß an Aufskalierung für TLS-Anwendungen, indem die TLS-Verbindung auf dem virtuellen Computer selbst beendet wird. Beispielsweise ist die TLS-Funktion zum erstellen von Sitzungsschlüsseln vom Typ und der Nummer der virtuellen Computer beschränkt, die Sie dem Back-End-Pool hinzufügen.

Bei einer Antwort auf einen eingehenden Flow handelt es sich immer um die Antwort eines virtuellen Computers. Wenn der Flow auf dem virtuellen Computer eingeht, wird auch die IP-Adresse der ursprünglichen Quelle gespeichert. Jeder Endpunkt erhält über eine VM eine Antwort. Zum Beispiel wird ein TCP-Handshake zwischen dem Client und der ausgewählten Back-End-VM durchgeführt. Antworten auf Anforderungen auf ein Front-End werden von einem virtuellen Back-End-Computer generiert. Wenn Sie eine erfolgreiche Überprüfung der Konnektivität für ein Front-End durchführen, bedeutet dies, dass Sie den Konnektivitätsdurchsatz für mindestens eine Back-End-VM überprüfen.

Nächste Schritte