Il miglior approccio agli eventi programmati in Node.JS

-1

Attualmente sto scrivendo un gioco basato su browser in cui gli eventi si verificano in tempo reale - come esempio, prendi Farmville, dove un raccolto cresce solo dopo un determinato periodo di tempo.

L'esecuzione di un metodo ogni secondo è una cattiva idea, e quindi l'impostazione migliore sarebbe solo quella in cui al server vengono chiesti dati per capire quanto tempo è trascorso ed eseguire il calcolo per tutti quei secondi contemporaneamente.

Sto scrivendo il server delle applicazioni principale in Node.JS, ma sarebbe più sensato fare questi calcoli nel server Node.JS stesso o allocare un nuovo server Java che si occuperebbe solo di fare questi calcoli ?

    
posta Oliver Dunk 26.03.2016 - 20:39
fonte

1 risposta

0

L'approccio standard con gli eventi è di avere una coda di lavoro persistente.

Il server web non esegue il lavoro, ne aggiunge uno alla coda. Vale a dire. 'Raccolto raccolto alle 10:15'

Un secondo processo di lavoro, tira Jobs dalla Queue e peforms qualunque logica. Ad esempio, aggiorna db con nuove colture e invia un messaggio di posta elettronica all'utente

Il motivo di questa architettura è che il server web ha solo un numero limitato di thread per rispondere alle richieste in arrivo. Se li usi tutti in attesa di eventi a tempo il tuo server web rallenterà.

Inoltre, una coda consente di distribuire il lavoro su più macchine.

Non sono super familair con Node. Ma sembra che ci siano alcune soluzioni plug and play là fuori.

link

    
risposta data 27.03.2016 - 16:24
fonte

Leggi altre domande sui tag