Redis
 sql >> Database >  >> NoSQL >> Redis

Cluster multi-server Node.js:come condividere l'oggetto in un cluster di più nodi

Redis è utile perché è indipendente dall'app del nodo e abbastanza facile da scalare. Puoi anche usarlo per molte cose al di fuori di pub/sub, come condividere strutture di dati di base (hash, set ordinati, elenchi, stringhe) tra i server dei tuoi nodi per mantenerli sincronizzati anche in questo modo. In teoria, potresti salvare tutte le chat in una determinata stanza come un insieme ordinato in cui la tua chiave è una rappresentazione json di qualche oggetto chat (qualcosa come {'user':'some_user','msg':'some_msg'} e il tuo punteggio è il timestamp, quindi è molto facile estrarre le conversazioni in base al tempo). Redis è estremamente veloce e le sue strutture dati sono altamente ottimizzate, quindi un singolo server può gestire molti, molti utenti.

Abbiamo una configurazione simile in produzione con un server Redis che gestisce 1 milione di utenti (circa 10.000 accessi inseriti e 20.000 letture da un set ordinato al minuto) e l'utilizzo della CPU raramente supera il 5% su una scatola non pesante.