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
