J'ai une application socket.io qui doit gérer beaucoup d'espaces de noms. Je me demande quelle est la limite du nombre d'espaces de noms socket.io instance peut gérer, y at-il un problème si je crée comme 10 espaces de noms. Comment puis-je mettre à l'échelle pour faire quelque chose comme scharding à travers plusieurs instances socket.io (chaque instance gère 1k namespance par exemple). En fait, je peux redimensionner juste pour prendre en charge plusieurs utilisateurs, mais toutes mes instances doivent gérer tous les espaces de noms.Limite de l'espace de noms Socket.io et comment le mettre à l'échelle
Update1:
Le problème que je suis en train de résoudre est le suivant, j'ai un jeu de cartes multi-joueurs (comme le poker) et chaque chambre, où 4 joueurs jouent le jeu, est modélisé par socketio espace de noms. Puisque je m'attends à des milliers de joueurs simultanés, mon instance de socketio devrait gérer ce nombre d'espaces de noms. J'ai déjà implémenté la solution d'évolutivité expliquée en Socket.io website. Lorsque je redimensionne, cet extrait de noeud que je cours dans la nouvelle instance peut gérer tous les espaces de noms créés auparavant.
Alorsrooms.forEach(function(room){
var socketRoom = io.of('/room/' + room.id)
.on('connection', function(mySocket){
return handleTableSocket(mySocket, socketRoom, room);
});
});
est-il une bonne idée de modéliser chaque salle de jeux avec socketio espace de noms? Que faire si le nombre d'espaces de noms augmente?
Vive
@ hamou92 - Y a-t-il une raison pour laquelle vous ne modélisez pas chaque jeu en tant que «pièce» au lieu d'un espace de noms. Je crois qu'une pièce est un objet plus léger dans socket.io qu'un espace de noms et je pense qu'une pièce te donnerait toujours les caractéristiques de communication que vous voudriez. – jfriend00
J'ai fait quelques recherches avant de faire un choix. Il semble que les espaces de noms donnent plus de séparation http://stackoverflow.com/questions/10930286/socket-io-rooms-or-namespacing – hamou92
@ hamou92 - Cela a-t-il répondu à votre question? – jfriend00