I am developing a poker server to support circa 100,000 concurrent players 
using node.js socket.io and redis.
My node servers are split between multiple front-end socket servers and 
multiple back-end game servers.
Game servers support pools of poker tables.
When a player is playing at a table, messages are passed from client to 
load balancer to socket server to game server.
The socket server knows on which pool of tables the player is seated (and 
this is persisted to support re-start) 
Responses are sent to all players seated at that table (through different 
socket.io servers). 
When a player leaves a table, chip count is persisted in redis. 
If a player transfers to another game server the the new routing is 
persisted, socket server is informed and the switch is made.
Game server picks up the chip count from redis and the player is seated in 
the new pool of tables.

Of course poker is a very simple game in that it naturally splits into 
pools of tables and a player is only in one pool at a time. Responses to 
user actions are limited to a small number of players. Switching between 
pools is not frequent and only the chip count and some simple routing 
information needs to be passed through redis.  Nevertheless, you should be 
able to use some elaboration of these techniques to build your game. 

On Thursday, 5 July 2012 05:51:34 UTC+1, hd nguyen wrote:
>
> Hi all,
>
> I'm building a MMO (Massive Multiplayer Online) game with nodejs built in 
> server side, but now I'm getting stuck in how to make load balancing for 
> nodejs between multiple servers.
>
> The game is using web socket to communicate with server. Example we have 2 
> servers that host GAME1, server1 and server2.
>
> User1 joins GAME1 on server1, User2 joins GAME1 on server2, so each time 
> User1 makes move/action, User2 need to see User1's move/action  and vice 
> versa (each user uses his own browser screen separately).
>
> I know NGNIX as an option, but not sure whether it supports broadcasting 
> data between nodejs servers or not,* in our game data for the same game 
> at a server should be broadcast to all other servers that host this game*.
>
> Appreciate any suggestion/comment from you.
>
> Thanks in advance.
> -- 
> Nguyen Hai Duy
> Mobile : 0914 72 1900
> Yahoo: nguyenhd_lucky
>  

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to