Hi all,
I have a concern when using pubsub mechanism of redis in my real application.
I built a MMO game with 5 servers (NodeJs) and use pubsub of Redis to
broadcast game state between servers.
But I concern which is the best practice to utilize this mechanism
efficiently with a lot of users connect and interact simultaneously?
I would love to hear your ideas about following problems:
1/ Should I create NEW channel for each action or just ONE channel for ALL
actions?
Ex: user1 connect to server1, user2-server2,...userN-serverN
When user1 move/fight and lost his health, those action should be broadcast
to other servers, so each time want to broadcast I should use:
pub1.publish("pub1", "action data sent from pub1"); //just one channel for
ALL actions
OR
pub1.publish("pub1_actionID", "action data sent from pub1"); // each
channel for EACH action
2/ And in each servers we create a client to listen:
//subscribe ALL channels from ALL OTHER servers
client = redis.createClient(port, host);
client.subscribe("pub1");
client.subscribe("pub2");
....
client.subscribe("pubN");
client.on("message", function(channel, message){
console.log(host + ":" + channel + ": " + message);
});
As above snippet code, each server should be a client to listen ALL
CHANNELS published by ALL other servers.
But I concern whether I should use just ONE client to listen ALL channels
or ONE client for EACH channel?
//each subscribe for each channel
client1 = redis.createClient(port, host);
client2 = redis.createClient(port, host);
client1.subscribe("pub1");
client2.subscribe("pub2");
....
client1.on("message", function(channel, message){
console.log(host + ":" + channel + ": " + message);
});
client2.on("message", function(channel, message){
console.log(host + ":" + channel + ": " + message);
});
...
3/ Could you tell me how many connections redis can handle maximum in a
second? (each time we createClient() we should create a connection to Redis
server, right? Does it take a lot of time and overhead?)
4/ Any tool to evaluate performance of pubsub mechanism for a MMO game with
multiple requests at the same time?
Thanks for your time.
--
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