Polling in System Design

Polling stelt een client in staat om updates van een server te ontvangen. Je kunt dit vergelijken met een ober die komt kijken of je eten al klaar is.

Er bestaan drie hoofdmethoden.

Short Polling

De client vraagt om een update met vaste intervallen. Als de gegevens nog niet klaar zijn, stuurt de server een lege respons. De client herhaalt deze cyclus totdat de gegevens binnenkomen. Deze methode veroorzaakt veel onnodige verzoeken.

Long Polling

De client stuurt een verzoek en de server houdt dit verzoek open. De server reageert pas wanneer de gegevens klaar zijn. Zodra de client de respons ontvangt, wordt er onmiddellijk een nieuw verzoek verzonden. Dit zorgt voor een gevoel van bijna real-time interactie. Het vermindert het aantal lege responsen in vergelijking met short polling.

Event Stream

De client en de server openen een enkele verbinding. Deze verbinding blijft open staan totdat één van de twee partijen deze sluit. De server pusht gegevens naar de client telkens wanneer er een gebeurtenis plaatsvindt. Dit is echte real-time communicatie.

Het nadeel is het resourcegebruik. De verbinding bezet een specifieke poort. Die poort blijft onbeschikbaar voor andere taken totdat de verbinding wordt verbroken.

Je keuze hangt af van je systeemvereisten en de compromissen die je bereid bent te accepteren.

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