Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scaling Socket.IO with Redis and then scaling Redis itself

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?

like image 463
udidu Avatar asked Aug 20 '12 22:08

udidu


1 Answers

I think what you're looking for is Redis Cluster. It is mentioned on that page as "being worked on" and "hopefully for this summer".

There's a presentation here. It's basically hashing + single master and slaves for redundancy. But it's not ready yet. Your best bet for more information is to hit up the forums and IRC for those products.

If someone is doing something similar, they will be on those channels.

like image 143
Gates VP Avatar answered Oct 26 '22 20:10

Gates VP