Event Stream, Short Polling i Long Polling
Pobieranie dużych ilości danych stwarza problemy dla użytkowników. Jeśli użytkownik zbyt długo czeka na odpowiedź, odnosi wrażenie, że aplikacja działa powolnie. Do obsługi tych żądań danych stosuje się różne metody.
Short Polling Klient wysyła żądania do serwera w stałych odstępach czasu. Serwer odpowiada na każde żądanie natychmiast. Informuje klienta, czy istnieją nowe dane, czy nie. Metoda ta zużywa wiele zasobów ze względu na ciągłe żądania.
Long Polling Klient wysyła żądanie do serwera. Serwer utrzymuje żądanie otwarte, dopóki nie dotrą nowe dane lub nie nastąpi przekroczenie czasu oczekiwania (timeout). Zmniejsza to liczbę pustych odpowiedzi.
Event Stream (SSE) Duże zbiory danych powodują długi czas oczekiwania. Jeśli masz 100 000 wierszy danych, wysłanie ich wszystkich naraz jest powolne. Możesz poprawić doświadczenie użytkownika, wysyłając dane w fragmentach (chunks).
Event Stream działa w następujący sposób:
- Klient otwiera połączenie z serwerem.
- Połączenie pozostaje otwarte.
- Serwer wysyła małe części danych, gdy tylko są gotowe.
- Użytkownik widzi wyniki natychmiast, zamiast czekać na cały zestaw.
Metoda ta utrzymuje połączenie aktywne, dopóki serwer nie skończy wysyłać wszystkich zdarzeń. Dzięki temu aplikacje wydają się szybkie i responsywne.
Źródło: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n