Bhu*_*asu 5 node.js socket.io pm2
我正在开发一个完全依赖 Socket.io 的应用程序。众所周知,NodeJS 默认只在一个内核上运行。现在我想跨多个内核扩展它。我发现很难让 socketio 与 PM2 集群模式一起工作。任何示例代码都会有所帮助。
我正在使用 Artillery 进行测试。当应用程序在单核上运行时,我得到响应,而它在集群中运行时,响应将为 NaN

PM2 文档说
确保您的应用程序是无状态的,这意味着进程中不会存储任何本地数据,例如会话/websocket 连接、会话内存及相关数据。使用Redis、Mongo或其他数据库在进程之间共享状态。
Socket.io 不是无状态的。
Kubernetes 实现通过根据源 IP 路由到特定实例来解决有状态问题。这仍然不是 100%,因为某些来源可能会提供多个 IP 地址。我知道这不是 PM2,但可以让您了解其复杂性。
| 归档时间: |
|
| 查看次数: |
2842 次 |
| 最近记录: |