Domanda

Attualmente stiamo sviluppando un server in base al quale un client richiede interesse per le modifiche a elementi di dati specifici e quando tali dati cambiano il server restituisce i dati al client.È in corso un acceso dibattito sull'opportunità o meno per il cliente di effettuare un sondaggio per ottenere questi dati.

Qual è considerato il metodo ideale, in termini di prestazioni, scalabilità e carico di rete, per il trasferimento dei dati in un ambiente quasi in tempo reale?

Aggiornamento:Ecco un Collegamento questo dà alcuni spunti di riflessione per quanto riguarda gli aggiornamenti dell'interfaccia utente.

È stato utile?

Soluzione

Probabilmente non esiste un metodo ideale per ogni situazione, ma push è solitamente migliore e utilizzato più spesso.Consente di ottimizzare la memorizzazione nella cache del server e i trasferimenti di dati, il che aiuta le prestazioni e la scalabilità e riduce leggermente il traffico di rete evitando richieste dei client e risposte vuote.Può essere un vantaggio importante per un server operare secondo il proprio ritmo e fornire ai clienti i dati quando è pronto.

Gli standard del settore, come OPC e GID, supportano entrambi.Il server invia gli aggiornamenti ai client abbonati, ma il client può estrarre alcuni dati utilizzati raramente senza preoccuparsi dell'abbonamento.

Altri suggerimenti

Finché il client avvia la connessione (per superare i problemi relativi al firewall e al NAT), in entrambi i casi va bene.

Se sono presenti diversi tipi di dati da inviare, potresti voler chiedere al client di specificare quale tipo desidera, ma ciò è necessario solo una volta per connessione.Quindi puoi fare in modo che il server continui a inviare gli aggiornamenti man mano che li ha.

Sarebbe meno traffico di rete fare in modo che il server invii gli aggiornamenti senza che il client li chieda continuamente.

Cosa hai dalla parte del cliente?Molti firewall consentono le richieste in uscita ma bloccano quelle in entrata.In altre parole, pull potrebbe essere la tua unica opzione se stai attraversando Internet a meno che non invii e-mail.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top