sto sacrificando scalabilità/prestazioni utilizzando Socket.IO e tutte le connessioni aperte da ?
Se si desidera aggiornare la pagina (pagina dinamica) immediatamente quando sono disponibili nuove informazioni. Quindi mantenere la connessione aperta utilizzando non-blocking io è il modo più efficiente per farlo. Fortunatamente node.js usa io non bloccante. Questo è uno dei motivi per cui node.js è così popolare (oltre al fatto che puoi programmare in JavaScript, che è il linguaggio di programmazione più popolare). Se davvero non ne hai bisogno (anche in futuro) perché il tuo sito web è piuttosto statico (non in tempo reale come hai detto tu), la chiusura della connessione ti farà risparmiare risorse.
Utilizzare Backbone + ExpressJS libera le risorse poiché non ci sono connessioni aperte ?
Vorrei esaminare il costo (tempo di sviluppo) per sviluppare il sito Web utilizzando la combinazione backbone/express e derbyjs.
Quindi nuovamente come Nate menzionato Socket.io può gestire facilmente molte (1000) connessioni simultanee. Se è più facile da sviluppare usando derbyJS, lo userei. Quando attraversi quella strada puoi sempre decidere di aggiungere più server o riprogettare (potresti assumere programmatori extra) il tuo sito web per utilizzare la combinazione espresso/backbone. Prima prova ad arrivare a un punto in cui gli utenti trovano il tuo sito web prezioso con il minimo sforzo (tempo di sviluppo).
P.S: Penso che dovresti cercare di mantenere il tuo sistema il più modulare possibile in modo che la sostituzione di Derby.js per qualcos'altro possa essere fatto con il minor tempo possibile.
In generale, penso che si tratti di regole pratiche discretamente buone, ma che sono molto orientate al business. Non tutto il software è scritto in un contesto aziendale. Futher, dicendo "non fare quella domanda, perché X e Y" è solo un po 'meglio del solo dire "non fare quella domanda". –