Zajmuję się tworzeniem aplikacji wyświetlającej dane w czasie rzeczywistym (wykresy itp.) Z Redis. Zaktualizowane dane przychodzą do Redis bardzo szybko (milisekundy). Więc byłoby sensownie pokazywać aktualizacje tak często, jak to możliwe (o ile ludzkie oko to zauważy).Real-Time z Node.js: WebSocket + Polling po stronie serwera vs. Polling po stronie klienta
Technologia stosu:
- node.js jako serwer WWW
- Redis, który przechowuje dane
- JavaScript/HTML (angularjs) jako klient
Teraz mam odpytywanie po stronie klienta (żądania GET do serwera Node.js co sekundę, która wysyła zapytania do Redis o aktualizacje).
Czy istnieje przewaga zamiast wykonywania pollingu po stronie serwera i udostępniania aktualizacji za pomocą WebSocket? Każde połączenie WebSocket będzie wymagało osobnej ankiety Node.js (setInterval), ponieważ zapytania klienta mogą być różne. Ale nie oczekuje się więcej niż 100 połączeń WebSocket.
Jakieś plusy/minusy między tymi dwoma podejściami?
Dzięki za odpowiedź. Jest to aplikacja działająca w czasie rzeczywistym i zawsze są aktualizacje. Zaktualizowane dane przychodzą do Redis bardzo szybko (milisekundy). Więc byłoby sensownie pokazywać aktualizacje tak często, jak to możliwe (o ile ludzkie oko to zauważy). – webdev
Ta odpowiedź powinna zostać przyjęta. – Chev
Gotowe. Dzięki za wspaniałą odpowiedź. – webdev