Polling im Systemdesign

Polling ermöglicht es einem Client, Updates von einem Server zu erhalten. Man kann dies mit einem Kellner vergleichen, der nach dem Essen sieht.

Es gibt drei Hauptmethoden.

Short Polling

Der Client fragt in festen Intervallen nach einem Update. Wenn die Daten noch nicht bereit sind, sendet der Server eine leere Antwort. Der Client wiederholt diesen Zyklus, bis die Daten eintreffen. Diese Methode erzeugt viele unnötige Anfragen.

Long Polling

Der Client sendet eine Anfrage, und der Server hält diese offen. Der Server antwortet erst, wenn die Daten bereit sind. Sobald der Client die Antwort erhält, sendet er sofort eine neue Anfrage. Dies erzeugt ein Gefühl von nahezu Echtzeit. Im Vergleich zu Short Polling reduziert es leere Antworten.

Event Stream

Client und Server öffnen eine einzige Verbindung. Diese Verbindung bleibt offen, bis eine Seite sie schließt. Der Server pusht Daten an den Client, wann immer ein Ereignis eintritt. Dies ist echte Echtzeit-Kommunikation.

Der Nachteil ist der Ressourcenverbrauch. Die Verbindung belegt einen spezifischen Port. Dieser Port bleibt für andere Aufgaben nicht verfügbar, bis die Verbindung beendet wird.

Ihre Wahl hängt von Ihren Systemanforderungen und den Kompromissen ab, die Sie eingehen möchten.

Quelle: https://dev.to/cibani_joe/polling-in-system-design-ph6