Cóż, kilka odpowiedzi na twoje pytanie:
-
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.
-
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ń.
-
Redis PUB/SUB to dobry sposób na osiągnięcie tego zadania
-
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.
-
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