Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Jak skalować serwer Node.js WebSocket Redis?

Cóż, kilka odpowiedzi na twoje pytanie:

  1. Aby zrównoważyć obciążenie Node.js, oznacza to dokładnie to, o czym myślałeś, z wyjątkiem tego, że tak naprawdę nie potrzebujesz oddzielnego serwera, możesz uruchomić więcej niż jeden proces serwera węzła na tej samej maszynie.

  2. Każdy serwer/proces Twojego węzła będzie miał swoje własne połączenia, domyślnym magazynem dla websocketów (np. Socket.IO) jest MemoryStore, oznacza to, że wszystkie połączenia będą przechowywane w pamięci maszyny, jest to wymagane do pracy z RedisStore w celu pracy z redis jako magazynem połączeń.

  3. Redis PUB/SUB to dobry sposób na osiągnięcie tego zadania

  4. Masz rację co do tego, co tutaj powiedziałeś, redis nie skaluje się w tej chwili, a uruchamianie wielu procesów/połączeń połączonych z redis może sprawić, że redis będzie wąskim gardłem.

  5. Redis nie skaluje się, to prawda, ale zgodnie z tą prezentacją widać, że rozwój klastra ma najwyższy priorytet w redis, a redis ma klaster, po prostu nie jest jeszcze stabilny:(pobrane z http://redis. io/pobierz)

Gdzie jest klaster Redis?

Rozwój Redis koncentruje się obecnie na Redis 2.6, który zapewni obsługę skryptów Lua i wiele innych ulepszeń. Jest to nasz aktualny priorytet, jednak niestabilna gałąź zawiera już większość podstawowych części klastra Redis. Po wydaniu wersji 2.6 skupimy się na przekształceniu obecnego klastra Redis w wersję alfa w produkt beta, który użytkownicy mogą zacząć poważnie testować. Trudno jest tworzyć prognozy, ponieważ wydamy klaster Redis jako stabilny tylko wtedy, gdy uznamy, że jest solidne i przydatne dla naszych klientów, ale mamy nadzieję, że na lato 2012 r. będziemy mieć rozsądną wersję beta i wyślemy pierwszą stabilną wersję przed końcem 2012 r.

Zobacz prezentację tutaj:http://redis.io/presentation/Redis_Cluster.pdf



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring Data Redis — identyfikator UUID — ConverterNotFoundException

  2. Potrzebujesz pomocy przy konceptualizacji w Redis/NoSQL

  3. Nie można skanować przy użyciu szablonu redis

  4. Jak uruchomić niestandardowego pracownika RQ w kontenerze Docker (Python, Flask i Redis)

  5. Zwiększanie setek liczników na raz, redis czy mongodb?