websocket 使用pm2的 cluster模式
比如我使用pm2 部署2个 ws进程, 这样如果有1000个人连接的话,会有一部分人连接到进程A,剩下的人连接到进程B,实际上进入了2个房间,有没有方法能够 解决这个问题,比如一个请求过来,指定路由到进程A ,pm2应该是有负载分发机制,不知道是否支持指定进程处理
8 回复
十分钟惨案
4小时惨案
一天惨案
估计搞不定 尝试分多个端口,然后用Nginx粘性回话能不能搞定了
@imhered 谢谢,就是比如A监听4000端口,B监听4001端口,用Nginx均衡器去分发到指定的进程?
@312xiaoguai 好像是叫个ip_hash吧,你搜搜 Nginx的ip_hash功能 我以前也有你类似的需求,不过后来通过逻辑来解决了
如果使用socket.io的话,一般cluster都要sticky模式 参考下这个库吧,https://github.com/uqee/sticky-cluster