After using Node.js and socket.io for a while, I realize that if I want my application to support up to 1 million concurrent users, I need to scale it, so I started using Redis for PUB/SUB messages between sockets and starting a large number of instances of socket.io servers, on the same computer and on other computers, but all my socket.io servers work with the same Redis server.
So it makes me think .. What's the point? so will i need some more redis servers and scaling between them? I want to say that they will always be the bottleneck on the top server.
My question is: is it possible to scale Redis? and if so, how can all my sockets connected to different socket.io servers be able to PUB/SUB between Redis servers?
Many thanks
udidu source share