5 Anwendungsfälle für DigitalOcean Load Balancer

Einführung

Mit DigitalOcean Load Balancern können Sie eingehenden Datenverkehr auf mehrere Back-End-Server aufteilen. Häufig wird dies verwendet, um HTTP-Anforderungen auf eine Gruppe von Anwendungsservern zu verteilen, um die Gesamtkapazität zu erhöhen. Dies ist eine gängige Methode zum Skalieren Ihrer Anwendung.

Load Balancer bieten auch andere Anwendungsfälle. Sie können beispielsweise die Zuverlässigkeit Ihrer Site erhöhen oder Ihre Bereitstellungs- und Testprozesse verbessern. In diesem Lernprogramm werden fünf Anwendungsfälle für Load Balancer vorgestellt.

[[1-load-balancing-for-scale]] === 1. Lastenausgleich für Skalierung

Wie oben erwähnt, ist das Skalieren des Datenverkehrs der häufigste Anwendungsfall für einen Load Balancer. Oft wird die Skalierung in vertikalen und horizontalen Begriffen diskutiert. Durch die vertikale Skalierung wird Ihre Anwendung im Grunde genommen auf einen leistungsfähigeren Server verschoben, um den steigenden Leistungsanforderungen gerecht zu werden. Durch horizontale Skalierung wird der Datenverkehr auf mehrere Server verteilt, um die Last zu teilen. Load Balancer erleichtern die horizontale Skalierung.

image: https://assets.digitalocean.com/articles/lb-use-cases/lb-scale.png [Load Balancer-Skalierungsdiagramm]

Mit DigitalOcean Load Balancern können Sie die Last über zwei verschiedene Algorithmen verteilen: Round Robin und Least Connections. Round Robin sendet nacheinander Anforderungen an jeden verfügbaren Back-End-Server, während die wenigsten Verbindungen Anforderungen an den Server mit den wenigsten Verbindungen senden. Round-Robin ist bei weitem das am häufigsten verwendete Schema für den Lastenausgleich. Wenn Sie jedoch eine Anwendung haben, die Verbindungen über einen langen Zeitraum offen hält, können die wenigsten Verbindungen die Überlastung eines Servers besser verhindern.

Ein Nebeneffekt der horizontalen Skalierung mit Load Balancern ist die Möglichkeit, die Zuverlässigkeit Ihres Dienstes zu erhöhen. Wir werden als nächstes darüber reden.

[[2-high-availability]] === 2. Hohe Verfügbarkeit

Unter Hochverfügbarkeit versteht man Bemühungen, Ausfallzeiten zu verringern und die Systemzuverlässigkeit zu erhöhen. Dies wird häufig durch die Verbesserung der Leistung und die Beseitigung einzelner Fehlerquellen behoben.

Ein Load Balancer kann die Verfügbarkeit erhöhen, indem auf Ihren Back-End-Servern wiederholte Integritätsprüfungen durchgeführt und ausgefallene Server automatisch aus dem Pool entfernt werden.

image: https://assets.digitalocean.com/articles/lb-use-cases/lb-ha.png [Diagramm für hohe Verfügbarkeit von Load Balancer]

Integritätsprüfungen können im Bereich * Einstellungen * des Load Balancer-Bedienfelds angepasst werden:

image: https://assets.digitalocean.com/articles/lb-use-cases/health-check.png [Schnittstelle für Load Balancer-Integritätsprüfungen]

Standardmäßig ruft der Load Balancer alle zehn Sekunden eine Webseite ab, um sicherzustellen, dass der Server ordnungsgemäß reagiert. Wenn dies dreimal hintereinander fehlschlägt, wird der Server entfernt, bis das Problem behoben ist.

[[3-blue-green-deployments]] === 3. Blau / Grün-Bereitstellungen

Blau / Grün-Bereitstellungen beziehen sich auf eine Technik, bei der Sie Ihre neue Software in der Produktionsinfrastruktur bereitstellen, gründlich testen und dann den Datenverkehr darauf umleiten, nachdem Sie sichergestellt haben, dass alles wie erwartet funktioniert. Wenn die Bereitstellung auf neue und unerwartete Weise fehlschlägt, können Sie sie problemlos wiederherstellen, indem Sie den Load Balancer auf die alte Version zurücksetzen.

image: https://assets.digitalocean.com/articles/lb-use-cases/lb-blue-green.png [Load Balancer blau / grün Bereitstellungsdiagramm]

DigitalOcean Load Balancers vereinfachen die Bereitstellung von Blue / Green-Dateien mithilfe der Droplet tagging feature. Load Balancer können Datenverkehr basierend auf ihrem Tag an eine Gruppe von Servern senden, sodass Sie einen Satz von Droplets mit einem Tag versehen können * blau * und den anderen * grün *. Wechseln Sie das Tag im Load Balancer-Steuerungsfeld oder über die API, wenn es Zeit für eine Kürzung ist:

image: https://assets.digitalocean.com/articles/lb-use-cases/edit-tag.png [Load Balancer Droplets über Tag-Schnittstelle hinzufügen]

Nachdem Sie Ihre Änderungen gespeichert haben, wird der Datenverkehr schnell auf die neuen Droplets umgeschaltet.

[[4-canary-deployments]] === 4. Kanarische Einsätze

Mit Canary Deployments können Sie eine neue Version Ihrer Anwendung auf einer Teilmenge von Benutzern testen, bevor Sie Ihren gesamten Pool von Anwendungsservern aktualisieren. Mit DigitalOcean Load Balancern können Sie dies beispielsweise erreichen, indem Sie Ihrem Load Balancer-Pool nur einen Canary Server hinzufügen. Wenn Sie in Ihrer Protokollierungs- und Überwachungsinfrastruktur keine Zunahme von Fehlern oder anderen unerwünschten Ergebnissen feststellen, können Sie Aktualisierungen für den Rest des Pools bereitstellen.

Sie möchten sticky sessions für diesen Anwendungsfall aktivieren, damit Ihre Benutzer nicht zwischen verschiedenen Versionen Ihrer Anwendung wechseln, wenn Sie über Load Balancer neue Verbindungen herstellen:

image: https://assets.digitalocean.com/articles/lb-use-cases/sticky-session.png [Benutzeroberfläche für Load Balancer-Sticky-Sessions]

Bei Sticky-Sitzungen wird ein Cookie verwendet, um sicherzustellen, dass zukünftige Verbindungen von einem bestimmten Browser weiterhin an denselben Server weitergeleitet werden. Sie können auf diese Funktion im Bereich * Erweiterte Einstellungen * der Systemsteuerung von Load Balancer zugreifen.

[[5-a-b-deployment]] === 5. A / B-Bereitstellung

A / B-Bereitstellungen ähneln funktional den kanarischen Bereitstellungen, haben jedoch einen anderen Zweck. A / B-Bereitstellungen testen eine neue Funktion für einen Teil Ihrer Benutzer, um Informationen zu sammeln, die Ihre Marketing- und Entwicklungsbemühungen beeinflussen. Sie müssen dies in Verbindung mit Ihrer vorhandenen Überwachungs- und Protokollierungsinfrastruktur tun, um aussagekräftige Ergebnisse zu erhalten.

Auf der Serverseite fügen Sie Ihrem vorhandenen Pool von * A * -Servern einen oder mehrere * B * -Server hinzu. Wenn Sie mehrere * B * -Server starten müssen, um genügend Daten zu sammeln, können Sie dies wie bei blau / grünen Bereitstellungen mit Tags organisieren.

Fazit

Obwohl Load Balancer am häufigsten in Betracht gezogen werden, wenn eine Skalierung erforderlich ist, haben wir gezeigt, dass es in vielen anderen Fällen nützlich ist, den Datenverkehr auf verschiedene Back-End-Server zu verteilen oder zu mischen. Load Balancer sind ein flexibles und leistungsstarkes Tool in Ihrer Produktionsinfrastruktur, unabhängig davon, ob es sich um Hochverfügbarkeit handelt oder um die Nutzung verschiedener Bereitstellungstechniken.

Ausführlichere und speziellere Informationen zu DigitalOcean Load Balancern finden Sie in den folgenden Tutorials: