首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使socket.io在pm2集群模式下正常工作?

如何使socket.io在pm2集群模式下正常工作?
EN

Stack Overflow用户
提问于 2019-05-15 13:58:31
回答 1查看 5.6K关注 0票数 7

我一直在寻找各种各样的解决方案,但当我把它放在一起时,它看起来非常混乱。

我正在尝试为我的应用程序实现pm2集群模式,该应用程序具有socket.io实现。现在,我理解了这样一个概念:为了使我的应用程序在集群模式下正常工作,需要有无状态状态。socket.io也不是无状态的。混乱的是,

1)我们的朋友Cam 他说 --只要实现了socket.io-redis --当我们在最大数量的CPU上生成CPU时,就可以正常工作了。

2) socket.io 他说和我引用的话,

注意:在使用Redis适配器时仍然需要sticky-session。“

1)根据我的研究,互联网应该不同意它会起作用。也许卡姆先生很幸运,因为他有websocket这样的运输方式,而且可能不需要和polling打交道。但同时,我认为它应该能工作,因为redis-adapter是我们用来使其无状态的。

信息:用websocket作为传输方法对我有用,但我无法用polling测试它。

对于2),我认为我们可以将Joni先生的建议与“集群”中的"pm2“一起运行,但可以在不同的端口上运行。然后,我们钟爱的nginxupstream团队和ip_hash会给我们带来同样的效果。

此外,我想使我的应用程序具有弹性。不仅在集群级别上,而且在向上和向外扩展。如果我的应用程序包括socket.io实现和redis中的会话令牌管理,那么最佳实践是什么?

我是错过了什么还是我完全错了?哪一种是扩大规模的最佳方式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-24 18:41:52

我拿到了解决方案!而且对我来说也很好!感谢@elad和投稿人。我做了大量的测试(两个多月了!)从来没出过什么问题。我不会不尊重作者,解释代码片段所做的事情,因为它已经被描述得够多了,一行行。

这花了我足够长的时间,因为回购上有一些悬而未决的问题,所以我必须确定。现在,我确信,只要了解不同的组成部分,这些问题是可行的。毕竟,这不是魔法!

看一看,如果你还有疑问/问题,请告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56151166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档