我已经创建了一个nodejs应用程序,它可以在单个内核中正常工作。此应用程序使用socket.io进行光线&快速通信。在多核服务器中使用socket.io与集群的好方法?
现在,我想通过在nodejs中使用cluster
模块使其能够在多核系统上运行来纵向扩展我的应用程序。
我的应用程序中的所有内容都将数据存储在Redis中,因此,处理一些基本数据&会话时不存在问题。
但是,当我使用集群产生多个工作进程时,似乎每个工作者都有自己的套接字处理。
例如,假设有一个叫做'guest'房间的聊天室。
用户A和用户B连接到房间,并将它们分配给不同的工作进程。
由于它们处于不同的进程中,并且这些进程不共享套接字侦听器,因此用户A和用户B无法相互通信。
什么是解决此问题的好方法? socket.io是否支持多核系统?
是否仅用于单核使用的socket.io?
您可以用'RedisStore' socket.io运行在缩放过程/服务器。请参阅[此前我的答案](http://stackoverflow.com/questions/9267292/examples-in-using-redisstore-in-socket-io/9275798#9275798)更深入。 –