Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Node.js-Cluster mit mehreren Servern:So teilen Sie Objekte in Clustern mit mehreren Knoten

Redis ist nett, weil es unabhängig von Ihrer Node-App und ziemlich einfach zu skalieren ist. Sie können es auch für viele Dinge außerhalb von Pub/Sub verwenden, z. B. das Teilen grundlegender Datenstrukturen (Hashes, sortierte Sätze, Listen, Zeichenfolgen) zwischen Ihren Knotenservern, um sie auch auf diese Weise synchron zu halten. Theoretisch könnten Sie alle Chats in einem bestimmten Raum als sortierten Satz speichern, wobei Ihr Schlüssel eine json-Darstellung eines Chat-Objekts ist (etwas wie {'user':'some_user','msg':'some_msg'} und Ihre Punktzahl ist der Zeitstempel, daher ist es sehr einfach, Konversationen nach Zeit zu ziehen). Redis ist extrem schnell und seine Datenstrukturen sind hochoptimiert, sodass ein einzelner Server viele, viele Benutzer verarbeiten kann.

Wir haben ein ähnliches Setup in der Produktion mit einem Redis-Server, der 1 Million Benutzer verarbeitet (etwa 10.000 Hits Inserts und 20.000 Reads von einem sortierten Satz pro Minute), und die CPU-Auslastung steigt selten über 5 % auf einer nicht CPU-lastigen Box.