【发布时间】:2016-09-01 11:29:30
【问题描述】:
我有基于 socket.io 库的多人游戏,我想在多个线程上扩展它。我了解到 node.js 有集群模块来处理多线程。 我的游戏世界由多个区域组成,我希望每个区域都在其自己的过程中进行处理。我需要一种将用户的套接字传递给特定工作人员的方法,以便用户可以从一个区域移动到另一个区域。 我在 node.js 文档中读到 cluster 模块使用循环方法为每个连接选择工作程序。也许有任何解决方法来操纵连接?
【问题讨论】:
-
您可以发挥创造力并启动进程并通过某种队列(例如 0mq)与它们进行通信。它不是您要寻找的答案,但可能是回退
-
嗨@akaphenom,谢谢你的回答。我以前从未听说过zmq。也许你有任何关于如何使用 zmq 和 node.js 处理类似情况的链接?
-
我认为你可以通过使用像
nginx或HAProxy这样的网络服务器来解决这个问题。您可以使用Docker在每台服务器上启动同一应用程序的多个实例,然后使用nginx或HAProxy对其进行负载平衡。 -
@Gugis 你是怎么处理这个问题的?我也有类似的问题。
标签: node.js multithreading socket.io