sql >> Database >  >> NoSQL >> Redis

Node.js multi-server cluster:hoe een object te delen in meerdere nodes cluster

Redis is leuk omdat het onafhankelijk is van je node-app en redelijk eenvoudig te schalen. Je kunt het ook voor veel dingen buiten pub/sub gebruiken, zoals het delen van basisgegevensstructuren (hashes, gesorteerde sets, lijsten, strings) tussen je node-servers om ze ook op deze manier gesynchroniseerd te houden. Theoretisch zou je alle chats in een bepaalde ruimte kunnen opslaan als een gesorteerde set waarbij je sleutel een json-representatie is van een chatobject (zoiets als {'user':'some_user','msg':'some_msg'} en je score is de tijdstempel, dus het is heel gemakkelijk om gesprekken op tijd te trekken). Redis is extreem snel en de datastructuren zijn sterk geoptimaliseerd, dus een enkele server kan vele, vele gebruikers aan.

We hebben een vergelijkbare setup in productie met één Redis-server die 1 miljoen gebruikers verwerkt (ongeveer 10k hits en 20k reads van een gesorteerde set per minuut), en het CPU-gebruik komt zelden boven de 5% op een niet-CPU-zware box.




  1. batchSize veldnaam genegeerd in Field Projection

  2. MongoDB $setEquals

  3. Waarom redis het maximale open bestand niet kan instellen?

  4. MongoDB:Te veel positionele (d.w.z. '$') elementen gevonden in pad