websocket+nginx集群 我感到不解

发布于 2022-09-11 18:28:00 字数 350 浏览 19 评论 0

我在网上博客看到了websocket和nginx集群的一些文档,有个地方一直疑惑,我疑惑的地方是这样的。

nginx将websocket连接负载到不同的服务器上。
那么连接建立后,客户端、nginx、背后服务器他们的连接是怎样的?

一种的我的想法是:
客户端跟nginx建立连接,nginx又在和背后服务器建立连接。
如果是这种情况,岂不是nginx成了网站支持最大的连接数的瓶颈?又该如何解决

一种我的想法是:
nginx只是负责将连接转发过去,客户端直接跟nginx背后服务器建立连接,并没有跟nginx建立连接。

我想问哪一种我的这两种想法哪一种才是正确的?
可不可以再给我推荐一点文章看看

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清浅ˋ旧时光 2022-09-18 18:28:00

我也遇到过这个问题,不知楼主怎么解决的?

爺獨霸怡葒院 2022-09-18 18:28:00

最近我也在学习关于WebSocket的集群相关话题

  1. 一般用Nginx都是用来做负载均衡的都是代理转发。真正做到服务HA都要所有节点都是多点部署...
  2. 按我理解单纯Nginx并不能做到WebSocket的集群(可能孤陋寡闻吧)。

2.1 1v1场景,那么两个都是客户端。在握手的时候分别转发到不同的服务端实例。那么他们两不可能进行通信(服务节点的连接没有共享)
2.2 1v*(群聊),同上

忘你却要生生世世 2022-09-18 18:28:00

我的理解 觉得第一种吧,nginx负责 负载均衡,反向代理 分发,就类似lvs

岂不是nginx成了网站支持最大的连接数的瓶颈 那如果有那么大量了 就该在dns负载均衡 下,再在nginx_lua层 分发处理

大公司一般都用lvs做负载均衡,当然nginx也可以的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文