Cloudscale Logo
2025
Dezember
18
2025

Load-Balancer "as a Service" mit UDP-Unterstützung

TCP wird typischerweise mit Zuverlässigkeit in Verbindung gebracht – gehen einzelne Pakete einer Verbindung verloren, wird dies erkannt und die Pakete noch einmal gesendet. Dabei zeigt der Einsatz bei DNS oder VPNs, dass auch UDP wichtige Anwendungsfälle abdeckt. Unser Load-Balancer unterstützt seit Kurzem beide Protokolle, damit du nebst TCP- auch UDP-basierte Services in die Breite skalieren und vor Ausfällen schützen kannst.

Das richtige Protokoll für jeden Use Case

UDP spart sich im Vergleich zu TCP einen gewissen Overhead; in einer Datenübertragung mittels UDP können zum Beispiel Datenpakete verloren gehen, ohne dass diese noch einmal übermittelt würden. In einem Videostream etwa kann dies durchaus erwünscht sein; lieber fehlen mal ein paar Pixel, als dass alles stoppen und auf die fehlenden Datenpakete warten müsste. In einem VPN-Tunnel wiederum kann die "innere", eingekapselte Verbindung auf Übertragungsfehler reagieren und wenn nötig ein nochmaliges Senden von Daten anfordern.

Dabei wird klar, dass UDP-basierte Services ganz unterschiedliche Anwendungsfälle abdecken, die bezüglich Verfügbarkeit und Serverkapazität keineswegs weniger anspruchsvoll sein müssen. Wenn du solche Services bei cloudscale betreibst, nutze darum auch für sie unseren "LBaaS". Mit zwei oder mehr Backend-Servern – idealerweise in "Anti-Affinity" –, die parallel Requests verarbeiten, steigerst du nicht nur die Gesamtkapazität, sondern auch die Verfügbarkeit deines Service als Ganzes.

Besonderheiten des LBaaS mit UDP

Im Fall von TCP verteilt unser Load-Balancer einzelne Connections auf die verfügbaren Backend-Server ("Pool Members"). UDP kennt keine solchen Connections; hier unterscheidet der Load-Balancer stattdessen einzelne Datenströme, die sich durch ihre jeweilige Kombination von Quell- und Ziel-IPs sowie -Ports auszeichnen. Pakete mit den passenden Werten werden über mehrere Minuten hinweg dem gleichen Datenstrom (und damit dem gleichen Backend) zugeordnet, was bereits standardmässig zu einer gewissen "Session Stickiness" führt.

In der API-Dokumentation findest du unter anderem die unterstützten Protokoll-Kombinationen.

In unserer umfangreichen API-Dokumentation findest du unter anderem Tabellen, die dir die unterstützten Protokoll-Kombinationen aufzeigen. So ist es zum Beispiel möglich, dass die einzelnen Pool Members gegenüber dem Health Monitor mittels (TCP) HTTP-Status-Code signalisieren, ob sie bereit zum Verarbeiten von Requests sind, selbst wenn die eigentlichen Requests dann via UDP übermittelt werden.

Bitte beachte, dass der Load-Balancer UDP derzeit nur für IPv4-Traffic unterstützt. Wenn dein Load-Balancer aus dem Internet erreichbar ist, erhält er standardmässig sowohl eine IPv4- als auch eine IPv6-Adresse zugeteilt; erfasse in diesem Fall einfach keine AAAA DNS-Records für diejenigen Hostnamen, unter denen du (auch) UDP-Services betreibst.


UDP ist allgegenwärtig, dies gilt nicht nur mit Blick auf DNS. Nutze unseren Load-Balancer jetzt auch für deine UDP-basierten Services, um dein Setup noch robuster zu machen und etwa Wartungsarbeiten elegant zu überbrücken. Und falls du bisher noch keine Erfahrung mit unserem LBaaS hast, findest du für den Einstieg einen guten Überblick im Beitrag zu den Komponenten eines Load-Balancers.

Zuverlässig,
Dein cloudscale-Team

Zurück zur Übersicht