sql >> Base de Datos >  >> NoSQL >> Redis

Clúster multiservidor Node.js:cómo compartir objetos en un clúster de varios nodos

Redis es bueno porque es independiente de su aplicación de nodo y bastante fácil de escalar. También puede usarlo para muchas cosas fuera de pub/sub, como compartir estructuras de datos básicas (hashes, conjuntos ordenados, listas, cadenas) entre sus servidores de nodo para ayudar a mantenerlos sincronizados también de esta manera. En teoría, podría guardar todos los chats en una sala determinada como un conjunto ordenado donde su clave es una representación json de algún objeto de chat (algo así como {'user':'some_user','msg':'some_msg'} y su puntaje es la marca de tiempo, por lo que es muy fácil extraer conversaciones por tiempo). Redis es extremadamente rápido y sus estructuras de datos están altamente optimizadas, por lo que un solo servidor puede manejar muchos, muchos usuarios.

Tenemos una configuración similar en producción con un servidor Redis que maneja 1 millón de usuarios (alrededor de 10 000 inserciones de visitas y 20 000 lecturas de un conjunto ordenado por minuto), y el uso de la CPU rara vez supera el 5 % en una caja que no tiene mucha CPU.