Per usare una metafora - il mondo (il mondo reale - cioè il pianeta Terra) smetterebbe di girare se improvvisamente tutti i suoi "utenti" (gli esseri umani e gli altri abitanti) morissero all'improvviso o si imbarcassero su un'astronave per migrare su un altro pianeta? No certo che no! Il mondo continuerà a girare fino alla fine dell'universo.
Se stai pensando di implementare una simulazione in tempo reale persistente (a.k.a. "world"), allora il tuo mondo dovrebbe anche continuare a girare / barrare indipendentemente dal numero di abitanti (clienti / utenti) attualmente in quel mondo.
Il modo in cui si mantengono i clienti in sincronia con il proprio mondo dipende più dalla quantità di dati di cui ogni cliente ha realmente bisogno e a cui importa; compresa la frequenza con cui ti aspetti che i dati diventino obsoleti e se sia importante per il cliente che i dati potrebbero essere obsoleti. (Considerate: se un albero cade in una foresta e non c'è nessuno che lo senta cadere, emette ancora un suono? C'è qualcuno che si preoccupa che l'albero sia caduto? Schrodinger non si preoccupa del suo gatto).
Se si sceglie un modello di notifica, un modello di streaming / trasmissione o un modello di richiesta-risposta dipende dal tipo di dati che vengono scambiati. Probabilmente troverai un utilizzo per tutti questi pattern di messaggistica e altro ancora.
Per usare nuovamente la metafora del mondo reale, valuta quante informazioni riceve ogni abitante della Terra, tra tutti i miliardi di cose che accadono in ogni momento.
Un "abitante" seduto in una casa potrebbe ricevere un notiziario (un quotidiano) una volta al giorno, perché i giornali cambiano solo una volta al giorno. Tuttavia, quando il giornale viene consegnato, è una "istantanea" abbastanza completa di tutte le notizie che sono accadute intorno a loro.
Quindi considera lo stesso abitante ricevere notizie su un televisore; tuttavia, l'abitante riceve tali rapporti solo quando il televisore è acceso (e l'abitante decide quando accendere il televisore e quando spegnerlo di nuovo). La stazione TV trasmette sempre, senza sapere chi sta guardando. L'abitante guarda solo quando sceglie; la trasmissione non va via solo perché spengono comunque la TV.
Questo è analogo ad avere un flusso costante di messaggi di micro-aggiornamento trasmessi in tempo reale da un server, ma le applicazioni client scelgono di abilitare / disabilitare la loro sottoscrizione a quei flussi di messaggi, a seconda che il cliente desideri / abbia bisogno di sapere al momento.
Infine, considera il caso in cui l'abitante ha richiesto specifici tipi di aggiornamenti di notizie da inviare via e-mail (magari quelli su Politica e Sport, ma non su Salute o Tecnologia); ci possono essere notizie occasionali poco frequenti e imprevedibili inviate in momenti del tutto arbitrari durante il giorno; a volte ci possono essere 5 storie all'ora, altre volte non ci possono essere storie per diverse ore. Ogni notifica è un aggiornamento a cui l'abitante ha chiesto di essere informato perché pertinente. Le relazioni su Salute e Tecnologia non saranno inviate a loro anche quando tali rapporti sono pubblicati.
In generale, non esiste una risposta giusta o sbagliata per quanto riguarda i modelli di messaggistica per sincronizzare i dati client / server; i diversi tipi di dati avranno requisiti diversi e sarà necessario scegliere quello più appropriato.