我当前运行一个与MongoDB配合的Node服务器,它处理一些HTTP请求,但主要使用WebSockets。基本上,该服务器使用WebSockets将多个用户连接到房间。
我的服务器目前有约12,000个打开的WebSockets,几乎使我的单线程服务器无法承受,现在我不知道如何转换它。
服务器保存了已连接用户和房间的HashMap变量。当用户执行某个操作时,服务器经常引用这些HashMap变量。因此,我不确定如何使用集群。我曾考虑为每个WebSocket消息创建一个线程,但我不确定这是否是正确的方法,并且它将无法访问其他用户的HashMaps。
是否有任何想法可以解决这个问题?
谢谢。