如何扩展node.js应用程序?

时间:2016-04-27 18:34:13

标签: node.js heroku socket.io scaling multiplayer

我目前正在使用node.js和socket.io构建一个像agar.io这样的小型多人游戏。它处于开发的早期阶段,但我对缩放有一些疑问。

当玩游戏的人少于80人时,他们都在一起玩,一切正常。但如果在线有1000名玩家怎么办?我想我需要:

  • 将玩家分成不同的房间" (例如,一个房间= 100个玩家),否则游戏将难以玩。
  • 可能会分开"房间"跨越不同的服务器(例如一个服务器= 5个房间)以获得更好的性能。

但是我不知道这有什么作用...有关这些主题的任何建议或资源分享?我现在正在Heroku上主持游戏,如果这有任何区别的话。

谢谢!

1 个答案:

答案 0 :(得分:1)

您希望使用socket.io中的房间和命名空间概念进行分区:

您还需要为多个节点配置socket.io:

在Heroku上,您需要启用会话亲和力('粘性会话'):