Wdrażamy usługę, z której korzysta wielu użytkowników w tym samym czasie. W szczytach możemy mieć dziesiątki tysięcy ludzi online.Decyzja, czy używać prostych żądań HTTP, czy WebSockets
Krytyczna część naszej usługi wymaga reimplementacji, dlatego staramy się wymyślić nowe sposoby jej realizacji. W tej chwili mamy wysłać prostą i bardzo krótką małą prośbę HTTP/AJAX oparte na interakcji z użytkownikiem:
- Ping: Jestem nadal aktywny
- aktywny: Zrobiłem to i napisz go do bazy danych
- wykończenie: muszę skończyć działalność więc zamknę żądań
Jednocześnie, w niektórych przypadkach (1 z 10) mamy otwartą EventSource
z której czytamy pewnych modyfikacji na serwerze.
Pytanie brzmi, czy ten model jest wystarczająco dobry, czy lepiej jest otworzyć WebSocket i przekazać wszystko za pośrednictwem WebSockets.
- Zaleta - dla każdego użytkownika utrzymywalibyśmy tylko jedno połączenie zamiast wysyłać wiele żądań.
- Wada - gdy wiele ludzi w Internecie, chcielibyśmy zachować tysiące połączeń aktywnych
Jaka powinna być decyzja o właściwej realizacji?
Zauważono, że to pytanie odpowiada na to samo: WebSockets protocol vs HTTP - jednak proszę o konkretny przypadek użycia. Powiązane pytanie jest ogólnie zadawane.
Możliwy duplikat [protokołu WebSockets vs HTTP] (http://stackoverflow.com/questions/14703627/websockets-protocol-vs-http) –