sql >> Databasteknik >  >> NoSQL >> Redis

Node.js multi-server kluster:hur man delar objekt i flera nodkluster

Redis är trevligt eftersom det är oberoende av din nodapp och ganska lätt att skala. Du kan också använda den för en massa saker utanför puben/suben också, som att dela grundläggande datastrukturer (hashar, sorterade uppsättningar, listor, strängar) mellan dina nodservrar för att hålla dem synkroniserade på detta sätt också. Teoretiskt sett kan du spara alla chattar i ett givet rum som en sorterad uppsättning där din nyckel är en json-representation av något chattobjekt (något som {'user':'some_user','msg':'some_msg'} och din poäng är tidsstämpeln, så det är väldigt enkelt att dra konversationer efter tid). Redis är extremt snabb och dess datastrukturer är mycket optimerade, så en enda server kan hantera många, många användare.

Vi har en liknande installation i produktion med en Redis-server som hanterar 1 miljon användare (cirka 10 000 träffinlägg och 20 000 läsningar från en sorterad uppsättning per minut), och CPU-användningen blir sällan över 5 % på en icke-CPU-tung låda.




  1. Gruppera efter värderingar och förutsättningar

  2. Konvertera sträng till MongoDB BsonDocument

  3. pymongo:namnet 'ISODate' är inte definierat

  4. Överför modellparametrar till en mangustmodell