invio di una richiesta jax con setinterval. è buono?

1

Sto sviluppando un sito Web in cui il cliente ha bisogno che qualsiasi notifica arrivi non appena viene creata. quindi sto usando la funzione setinterval di jquery e usando le richieste ajax per ottenere le notifiche. l'intervallo di tempo impostato è 2 secondi. e non è l'unica richiesta ajax che sta andando in questo modo. ci sono seguenti richieste di ajax fatte entro un intervallo di 2 secondi

  1. ricevi notifiche
  2. ricevi messaggi.
  3. ottieni conteggi.
  4. altri assegni

Sono preoccupato perché penso che l'invio di questa richiesta in un periodo di tempo molto breve potrebbe disturbare il sistema. e peggio se il numero di utenti aumenta. Per favore dimmi le tue opinioni e le tue soluzioni a questo, se questo è aproach errato

    
posta Prabhjot Singh 05.01.2017 - 09:09
fonte

1 risposta

1

Consiglierei di passare alle websocket quando possibile, ma fino ad allora, ecco alcune cose da considerare.

  1. Assicurati di raccogliere statistiche sul numero di richieste e sui tempi di risposta. Anche se non è una situazione ottimale, questo potrebbe trasformarsi in un incubo per te da un semplice errore javascript aggiungendo una chiamata aggiuntiva di 2 secondi ad ogni richiesta, una singola richiesta bloccata o un attacco DDOS.
  2. @Traubenfuchs consiglio è solido. Usa setTimeout e pianifica una chiamata solo quando ottieni una risposta.
  3. A meno che non vi sia un motivo urgente, memorizza i risultati sul lato server per un breve periodo di tempo per evitare di sovraccaricare il tuo archivio dati.
  4. È possibile unire tutte le chiamate in un'unica chiamata.
risposta data 05.01.2017 - 22:15
fonte

Leggi altre domande sui tag