Sono stato uno sviluppatore di applicazioni web in ruby / php per un po 'di tempo e sono abituato all'idea del ridimensionamento orizzontale delle istanze del server per gestire più richieste. Ridimensionamento orizzontale: ovvero istanze separate di un'applicazione poste dietro un bilanciatore del carico che non condivide nulla e non sono a conoscenza l'una dell'altra.Ridimensionamento orizzontale NodeJS
La domanda principale che ho è, dal momento che Node.js ed è l'accento sulla evented-IO consente una singola scatola in esecuzione un server per gestire node.js 'migliaia' di richieste simultanee - è il bilanciamento del carico/scala orizzontale usato ridimensionare le applicazioni nodejs? Il ridimensionamento di un'app di nodo è limitato al ridimensionamento verticale (aumento della RAM/potenza di elaborazione del problema)?
La seconda domanda riguarda la scalatura orizzontale e le web socket di node.js. Ho visto un bel po 'di tutorial per la chat di Node.js là fuori che fanno uso di websocket. (preferito: http://martinsikora.com/nodejs-and-websocket-simple-chat-tutorial)
Dal WebSockets mantenere efficacemente una linea aperta di comunicazione aperta tra un browser e un server, sarebbe un'architettura in scala orizzontale tipica del mondo PHP/Rubino causare un'applicazione di chat come quello spiegato nel link per rompere - come nuove richieste di connessione websocket sarebbero assegnate a diversi processi/server e non ci sarebbe nessuna risorsa centrale che tiene traccia di tutti i client connessi?
Questa è una vecchia domanda, ma sto utilizzando mongodb per archiviare e recuperare tutti i dati delle mie applicazioni di chat. Dal momento che voglio ridimensionare orizzontalmente la mia applicazione in quanto la mia applicazione di chat non funziona quando ho più di un server. Cosa dovrei fare se dovessi rimuovere completamente mongodb e utilizzare redis? O c'è una soluzione migliore. – DragonBorn