Il polling è sempre accettabile quando il tempo reale non è una necessità. Quello che devi chiederti è perché dovresti usarne uno anziché l'altro?
Lo scopo di un servizio push è un paio di cose; può essere considerevolmente meno traffico per te gestire se i tuoi push sono trasmissioni e un provider di terze parti fa la trasmissione - questo ti consente di inviare un messaggio e ricevere migliaia di esso. Ma come notate, il più grande vantaggio di un servizio push è la natura in tempo reale che consente aggiornamenti immediati per raggiungere i vostri consumatori. Tuttavia, quando si eseguono push, non si vuole mai spingere set di dati di grandi dimensioni se si sta trasmettendo, e si è anche in balia del servizio push di terze parti che si utilizza (se ne si utilizza uno).
Lo scopo di un sondaggio è di verificare periodicamente le differenze di dati, in cui il periodo di aggiornamento può avere uno SLA accettabile di inesattezze fino a un determinato periodo di tempo. Un sondaggio richiederà a tutti i tuoi clienti di richiedere periodicamente i dati, il che significa che viene richiesta una connessione per ogni client in esecuzione e la necessità di un servizio live in grado di monitorare accuratamente quei dati per servirli fino ai poller. Avere dati precisi da servire significa una certa persistenza dei dati che richiederà tempo di manutenzione e del disco.
Quindi da questo possiamo vedere che se hai dubbi sul traffico di rete o sulla manutenzione di un servizio (il che significa eventualmente autenticare / autorizzare richieste, registrandole che occupano spazio su disco, tutti i normali requisiti di manutenzione di un servizio) allora non voglio forzare i clienti a effettuare il polling. Tuttavia, se il caso d'uso richiede la trasmissione di un set di dati particolarmente grande o non è possibile essere vincolati all'API di una terza parte che può cambiare nel tempo, nonché il loro SLA o i relativi addebiti, è possibile che si applichi un sistema di polling domestico, sebbene la manutenzione le spese generali possono essere significativamente più. In alternativa, è possibile che il servizio sia già in esecuzione e che i dati persistano in modo tale che il polling sia una leggera aggiunta all'infrastruttura già in atto, il che rende il polling più desiderabile.
Sebbene al punto centrale che ti fai sia corretto; se è necessario il tempo reale , il polling non lo farà. In caso contrario, devi solo fare i conti su come periodicamente i dati possono essere controllati moltiplicati per la tua base di clienti moltiplicata per la dimensione del tuo set di dati per decidere se il costo della rete varrà la pena o se un servizio push sarebbe meglio dove puoi sempre semplicemente inviare un evento di modifica che consente loro di richiedere il set di dati di grandi dimensioni in un passaggio secondario (anche se l'atomicità di questi passaggi può essere qualcosa di cui devi fare attenzione a seconda della criticità dei dati).