I’ve been working on a great massive multi-player for about half a year now with some very high expectations. In doing so, we’re trying a new and unique approach in our technology stack that we haven’t used before. Our goal is to enable a massive number of clients to connect to the game simultaneously while maintaining cross-platform functionality and scalability.
The big picture
frontend –(via WebSockets)-> Node.js –> Redis –> PHP workers –> Persistence via MySQL / PostgreSQL / MongoDB –aaand-> back!
We use our Redis box as a simple queue and take advantage of some of the more advanced Redis features such as PubSub. The Node backend stores the socket’s ID along with the message and enqueues it in Redis: (more…)