After using Node.js and socket.io for a while, I understand that if I want my application to support up to 1 million concurrent users I need to scale it, So I started using Redis to PUB/SUB
messages between sockets and running a lot of socket.io servers instances, in the same machine and on other machines but all my socket.io servers works with the same Redis server.
This makes me think: what's the point? Will I need a few more redis servers and scale between them? My point is that their will always be a bottleneck on the top server.
My question is, is it possible to scale Redis? And if yes, how will all my sockets that connected to different socket.io server be able to PUB/SUB between the Redis servers?